diff --git a/indra/newview/llvocache.cpp b/indra/newview/llvocache.cpp
index 2430fa556a19ea5d90f8399553ec87a685c8a06b..ebde17dcef1de38018af16a68ffd4134d3411888 100755
--- a/indra/newview/llvocache.cpp
+++ b/indra/newview/llvocache.cpp
@@ -374,14 +374,13 @@ bool LLVOCacheEntry::isRecentlyVisible() const
 		vis = (sCurVisible - getVisible() < mMinFrameRange);
 	}
 
-	if(!vis && !mParentID && mSceneContrib > 0.f)
+	//combination of projected area and squared distance
+	if(!vis && !mParentID && mSceneContrib > 0.0311f) //projection angle > 10 (degree)
 	{
-		//projection area: mSceneContrib
-
 		//squared distance
-		const F32 SQUARED_CUT_OFF_DIST = 225.0; //15m
+		const F32 SQUARED_CUT_OFF_DIST = 256.0; //16m
 		F32 rad = getBinRadius();
-		vis = (rad * rad / mSceneContrib > SQUARED_CUT_OFF_DIST);
+		vis = (rad * rad / mSceneContrib < SQUARED_CUT_OFF_DIST);
 	}
 
 	return vis;