diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 4ea3c1b56bf1df20697342f7cdfe715d955d5c4c..1ef3d85eb311576187f892bb07a162314e21bc2e 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -5374,6 +5374,8 @@ void LLVolumeGeometryManager::rebuildMesh(LLSpatialGroup* group)
 			if (drawablep && !drawablep->isDead() && drawablep->isState(LLDrawable::REBUILD_ALL) && !drawablep->isState(LLDrawable::RIGGED) )
 			{
 				LLVOVolume* vobj = drawablep->getVOVolume();
+				if (vobj->isNoLOD()) continue;
+
 				vobj->preRebuild();
 
 				if (drawablep->isState(LLDrawable::ANIMATED_CHILD))
diff --git a/indra/newview/llvovolume.h b/indra/newview/llvovolume.h
index 2d9315df702e5c8cace5a40874eff0a2fbe3566e..f9d04844fc2c57bb26cf66c34f8c6c5a5e772d76 100644
--- a/indra/newview/llvovolume.h
+++ b/indra/newview/llvovolume.h
@@ -129,6 +129,7 @@ class LLVOVolume : public LLViewerObject
 	/*virtual*/	BOOL	setParent(LLViewerObject* parent);
 				S32		getLOD() const						{ return mLOD; }
 				void	setNoLOD()							{ mLOD = NO_LOD; mLODChanged = TRUE; }
+				bool	isNoLOD() const						{ return NO_LOD == mLOD; }
 	const LLVector3		getPivotPositionAgent() const;
 	const LLMatrix4&	getRelativeXform() const				{ return mRelativeXform; }
 	const LLMatrix3&	getRelativeXformInvTrans() const		{ return mRelativeXformInvTrans; }