Index: darkplaces/sv_phys.c
diff -u darkplaces/sv_phys.c:1.60 darkplaces/sv_phys.c:1.61
--- darkplaces/sv_phys.c:1.60	Fri Aug 29 21:54:31 2003
+++ darkplaces/sv_phys.c	Fri Sep 19 15:44:00 2003
@@ -966,6 +966,8 @@
 	vec3_t upmove, downmove, oldorg, oldvel, nosteporg, nostepvel, stepnormal;
 	trace_t downtrace;
 
+	SV_CheckVelocity(ent);
+
 	// do a regular slide move unless it looks like you ran into a step
 	oldonground = (int)ent->v->flags & FL_ONGROUND;
 	ent->v->flags = (int)ent->v->flags & ~FL_ONGROUND;
@@ -975,6 +977,8 @@
 
 	clip = SV_FlyMove (ent, sv.frametime, NULL);
 
+	SV_CheckVelocity(ent);
+
 	// if move didn't block on a step, return
 	if ( !(clip & 2) )
 		return;
@@ -990,10 +994,9 @@
 			return;
 	}
 
-	if (sv_nostep.integer)
-		return;
+	SV_CheckVelocity(ent);
 
-	if ( (int)ent->v->flags & FL_WATERJUMP )
+	if (sv_nostep.integer || (int)ent->v->flags & FL_WATERJUMP )
 		return;
 
 	VectorCopy (ent->v->origin, nosteporg);
@@ -1052,6 +1055,8 @@
 		VectorCopy (nosteporg, ent->v->origin);
 		VectorCopy (nostepvel, ent->v->velocity);
 	}
+
+	SV_CheckVelocity(ent);
 }
 
 //============================================================================