diff --git a/indra/newview/llvisualeffect.cpp b/indra/newview/llvisualeffect.cpp
index efa0cbf2b111177105e9826a819a69ac3f9c5899..0f4ea959e8bc37c33e6b7eb2eb5ba49dc5b6c10c 100644
--- a/indra/newview/llvisualeffect.cpp
+++ b/indra/newview/llvisualeffect.cpp
@@ -116,9 +116,9 @@ void LLVfxManager::runEffect(EVisualEffect eCode, LLVisualEffectParams* pParams)
 	     endEffect = boost::make_filter_iterator(pred, m_Effects.end(), m_Effects.end());
 	while (itEffect != endEffect)
 	{
-		LLVisualEffect* pEffect = *itEffect;
+		LLVisualEffect* pEffect = *itEffect++;
 		if (pParams)
-			pParams->step(++itEffect == endEffect);
+			pParams->step(itEffect == endEffect);
 		pEffect->run(pParams);
 	}
 }