diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 28c632b49848ad60612c43f1e080e8ce2e91e70d..5cf2e4555de2bd3d33e3e265c2fb0afc2bb9645b 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -10273,17 +10273,6 @@
       <key>Value</key>
       <real>1.0</real>
     </map>
-    <key>RenderRiggedFactorMultiplier</key>
-    <map>
-      <key>Comment</key>
-      <string>Affects level of detail for worn rigged meshes</string>
-      <key>Persist</key>
-      <integer>1</integer>
-      <key>Type</key>
-      <string>F32</string>
-      <key>Value</key>
-      <real>7.5</real>
-    </map>
     <key>RenderWater</key>
     <map>
       <key>Comment</key>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index b0829a3da14cb1ea832ec9ce0f417f1070749fbb..9db03a74381a9fbd58a485b3cc42ba162f0c1dea 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -592,7 +592,6 @@ static void settings_to_globals()
 	LLImageGL::sGlobalUseAnisotropic	= gSavedSettings.getBOOL("RenderAnisotropic");
 	LLImageGL::sCompressTextures		= gSavedSettings.getBOOL("RenderCompressTextures");
 	LLVOVolume::sLODFactor				= gSavedSettings.getF32("RenderVolumeLODFactor");
-	LLVOVolume::sRiggedFactorMultiplier	= gSavedSettings.getF32("RenderRiggedFactorMultiplier");
 	LLVOVolume::sDistanceFactor			= 1.f-LLVOVolume::sLODFactor * 0.1f;
 	LLVolumeImplFlexible::sUpdateFactor = gSavedSettings.getF32("RenderFlexTimeFactor");
 	LLVOTree::sTreeFactor				= gSavedSettings.getF32("RenderTreeLODFactor");
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 5e74e9f01934a58862fa249d2ef5ba1fc82604c0..16f40fb747393d55ff6f6c0f177040f065062470 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -207,12 +207,6 @@ static bool handleVolumeLODChanged(const LLSD& newvalue)
 	return true;
 }
 
-static bool handleRiggedLODChanged(const LLSD& newvalue)
-{
-    LLVOVolume::sRiggedFactorMultiplier = (F32)newvalue.asReal();
-    return true;
-}
-
 static bool handleAvatarLODChanged(const LLSD& newvalue)
 {
 	LLVOAvatar::sLODFactor = (F32) newvalue.asReal();
@@ -625,7 +619,6 @@ void settings_setup_listeners()
 	gSavedSettings.getControl("WindLightUseAtmosShaders")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
 	gSavedSettings.getControl("RenderGammaFull")->getSignal()->connect(boost::bind(&handleSetShaderChanged, _2));
 	gSavedSettings.getControl("RenderVolumeLODFactor")->getSignal()->connect(boost::bind(&handleVolumeLODChanged, _2));
-	gSavedSettings.getControl("RenderRiggedFactorMultiplier")->getSignal()->connect(boost::bind(&handleRiggedLODChanged, _2));
 	gSavedSettings.getControl("RenderAvatarLODFactor")->getSignal()->connect(boost::bind(&handleAvatarLODChanged, _2));
 	gSavedSettings.getControl("RenderAvatarPhysicsLODFactor")->getSignal()->connect(boost::bind(&handleAvatarPhysicsLODChanged, _2));
 	gSavedSettings.getControl("RenderTerrainLODFactor")->getSignal()->connect(boost::bind(&handleTerrainLODChanged, _2));
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 55739915a36bed98cce3630cfb695e4028526b65..da1587d4943931ac557a76bd2983de1d155c65ba 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -86,7 +86,6 @@ BOOL gAnimateTextures = TRUE;
 //extern BOOL gHideSelectedObjects;
 
 F32 LLVOVolume::sLODFactor = 1.f;
-F32 LLVOVolume::sRiggedFactorMultiplier = 6.f;
 F32	LLVOVolume::sLODSlopDistanceFactor = 0.5f; //Changing this to zero, effectively disables the LOD transition slop 
 F32 LLVOVolume::sDistanceFactor = 1.0f;
 S32 LLVOVolume::sNumLODChanges = 0;
@@ -1214,18 +1213,18 @@ void LLVOVolume::sculpt()
 	}
 }
 
-S32	LLVOVolume::computeLODDetail(F32 distance, F32 radius, F32 lod_factor)
+S32	LLVOVolume::computeLODDetail(F32 distance, F32 radius)
 {
 	S32	cur_detail;
 	if (LLPipeline::sDynamicLOD)
 	{
 		// We've got LOD in the profile, and in the twist.  Use radius.
-		F32 tan_angle = (lod_factor*radius) / distance;
+		F32 tan_angle = (LLVOVolume::sLODFactor*radius)/distance;
 		cur_detail = LLVolumeLODGroup::getDetailFromTan(ll_round(tan_angle, 0.01f));
 	}
 	else
 	{
-		cur_detail = llclamp((S32)(sqrtf(radius)*lod_factor*4.f), 0, 3);
+		cur_detail = llclamp((S32) (sqrtf(radius)*LLVOVolume::sLODFactor*4.f), 0, 3);		
 	}
 	return cur_detail;
 }
@@ -1241,7 +1240,6 @@ BOOL LLVOVolume::calcLOD()
 	
 	F32 radius;
 	F32 distance;
-	F32 lod_factor = LLVOVolume::sLODFactor;
 
 	if (mDrawable->isState(LLDrawable::RIGGED))
 	{
@@ -1253,27 +1251,22 @@ BOOL LLVOVolume::calcLOD()
 			return FALSE;
 		}
 
-		// Note: when changing, take note that a lot of rigged meshes have only one LOD.
-		lod_factor *= LLVOVolume::sRiggedFactorMultiplier;
 		distance = avatar->mDrawable->mDistanceWRTCamera;
-		F32 avatar_radius = avatar->getBinRadius();
-		F32 object_radius = getVolume() ? getVolume()->mLODScaleBias.scaledVec(getScale()).length() : getScale().length();
-		radius = object_radius * LLVOVolume::sRiggedFactorMultiplier;
-		radius = llmin(radius, avatar_radius);
+		radius = avatar->getBinRadius();
 	}
 	else
 	{
 		distance = mDrawable->mDistanceWRTCamera;
 		radius = getVolume() ? getVolume()->mLODScaleBias.scaledVec(getScale()).length() : getScale().length();
 	}
-
+	
 	//hold onto unmodified distance for debugging
 	//F32 debug_distance = distance;
-
+	
 	distance *= sDistanceFactor;
 
-	F32 rampDist = lod_factor * 2;
-
+	F32 rampDist = LLVOVolume::sLODFactor * 2;
+	
 	if (distance < rampDist)
 	{
 		// Boost LOD when you're REALLY close
@@ -1286,8 +1279,7 @@ BOOL LLVOVolume::calcLOD()
 	distance *= F_PI/3.f;
 
 	cur_detail = computeLODDetail(ll_round(distance, 0.01f), 
-									ll_round(radius, 0.01f),
-									lod_factor);
+									ll_round(radius, 0.01f));
 
 
 	if (gPipeline.hasRenderDebugMask(LLPipeline::RENDER_DEBUG_LOD_INFO) &&
diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h
index ca9917069b09aed47b1588af0f08363d5b84078d..a3319083200be4300e5abebf5201bdeaa2d30dac 100644
--- a/indra/newview/llvovolume.h
+++ b/indra/newview/llvovolume.h
@@ -327,7 +327,7 @@ class LLVOVolume : public LLViewerObject
 	void clearRiggedVolume();
 
 protected:
-	S32	computeLODDetail(F32	distance, F32 radius, F32 lod_factor);
+	S32	computeLODDetail(F32	distance, F32 radius);
 	BOOL calcLOD();
 	LLFace* addFace(S32 face_index);
 	void updateTEData();
@@ -379,7 +379,6 @@ class LLVOVolume : public LLViewerObject
 public:
 	static F32 sLODSlopDistanceFactor;// Changing this to zero, effectively disables the LOD transition slop
 	static F32 sLODFactor;				// LOD scale factor
-	static F32 sRiggedFactorMultiplier;	// Worn rigged LOD scale factor multiplier
 	static F32 sDistanceFactor;			// LOD distance factor
 
 	static LLPointer<LLObjectMediaDataClient> sObjectMediaClient;