diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index 6d9c2c5eb8aa4b1247770eca3cf52f1462a6fad1..6f48b8a968c2340b2581f2ab3fa109b8a0ae17b5 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -902,8 +902,11 @@ void LLDrawable::updateDistance(LLCamera& camera, bool force_update)
 				}
 			}	
 
+
             // MAINT-7926 Handle volumes in an animated object as a special case
-            if (volume->getAvatar() && volume->getAvatar()->isControlAvatar())
+            // SL-937: add dynamic box handling for rigged mesh on regular avatars.
+            //if (volume->getAvatar() && volume->getAvatar()->isControlAvatar())
+            if (volume->getAvatar())
             {
                 const LLVector3* av_box = volume->getAvatar()->getLastAnimExtents();
                 LLVector3d cam_pos = gAgent.getPosGlobalFromAgent(LLViewerCamera::getInstance()->getOrigin());
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 61d82ec1cf266e3a2889a1f14637ade6f6198a1c..01b70088ab316b937dc8339d50be1a4ec2b96af8 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -1296,6 +1296,8 @@ BOOL LLVOVolume::calcLOD()
 		}
 
 		distance = avatar->mDrawable->mDistanceWRTCamera;
+
+
         if (avatar->isControlAvatar())
         {
             // MAINT-7926 Handle volumes in an animated object as a special case
@@ -1306,8 +1308,16 @@ BOOL LLVOVolume::calcLOD()
         }
         else
         {
+            // Volume in a rigged mesh attached to a regular avatar.
+#if 0
             // Note this isn't really a radius, so distance calcs are off by factor of 2
             radius = avatar->getBinRadius();
+#else
+            // SL-937: add dynamic box handling for rigged mesh on regular avatars.
+            const LLVector3* box = avatar->getLastAnimExtents();
+            LLVector3 diag = box[1] - box[0];
+            radius = diag.magVec(); // preserve old BinRadius behavior - 2x off
+#endif
         }
         if (distance <= 0.f || radius <= 0.f)
         {