diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp
index d8185aa693e65ce3a0b993d55dda45ae32407f3f..35e76f1d9d0c0c7d32cfba1d09965e404151f74b 100644
--- a/indra/llcharacter/llmotioncontroller.cpp
+++ b/indra/llcharacter/llmotioncontroller.cpp
@@ -139,7 +139,8 @@ LLMotionController::LLMotionController()
 	  mTimeStep(0.f),
 	  mTimeStepCount(0),
 	  mLastInterp(0.f),
-	  mIsSelf(FALSE)
+	  mIsSelf(FALSE),
+	  mLastCountAfterPurge(0)
 {
 }
 
@@ -238,10 +239,12 @@ void LLMotionController::purgeExcessMotions()
 		}
 	}
 
-	if (mLoadedMotions.size() > 2*MAX_MOTION_INSTANCES)
+	U32 loaded_count = mLoadedMotions.size();
+	if (loaded_count > (2 * MAX_MOTION_INSTANCES) && loaded_count > mLastCountAfterPurge)
 	{
-		LL_WARNS_ONCE("Animation") << "> " << 2*MAX_MOTION_INSTANCES << " Loaded Motions" << LL_ENDL;
+		LL_WARNS_ONCE("Animation") << loaded_count << " Loaded Motions. Amount of motions is over limit." << LL_ENDL;
 	}
+	mLastCountAfterPurge = loaded_count;
 }
 
 //-----------------------------------------------------------------------------
diff --git a/indra/llcharacter/llmotioncontroller.h b/indra/llcharacter/llmotioncontroller.h
index 72de3316947f1ce13fcca68848e087bf30e95e2d..9d9c64f4f0004bff6ae1169ac301b75159e0243b 100644
--- a/indra/llcharacter/llmotioncontroller.h
+++ b/indra/llcharacter/llmotioncontroller.h
@@ -224,6 +224,8 @@ class LLMotionController
 	F32					mLastInterp;
 
 	U8					mJointSignature[2][LL_CHARACTER_MAX_ANIMATED_JOINTS];
+private:
+	U32					mLastCountAfterPurge; //for logging and debugging purposes
 };
 
 //-----------------------------------------------------------------------------