diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp
index e6fe6fe924a4ada2490ff47f31b3dc909c4670d5..157d13e1a4e94c5097242198c8b8abe67ea3b605 100644
--- a/indra/newview/llphysicsmotion.cpp
+++ b/indra/newview/llphysicsmotion.cpp
@@ -482,12 +482,13 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)
 	F32 behavior_maxspeed = getParamValue("MaxSpeed");
 	if (physics_test)
 		behavior_maxspeed = 100.0f;
-	/*
+
 	if (behavior_maxspeed == 0)
 		return FALSE;
-	*/
 
-	F32 position_current_local = mPosition_local; // Normalized [0,1] range
+	F32 position_current_local = llclamp(mPosition_local,
+					     0.0f,
+					     1.0f); // Normalized [0,1] range
 
 	// Normalize the param position to be from [0,1].
 	// We have to use normalized values because there may be more than one driven param,