diff --git a/src/localplayer.cpp b/src/localplayer.cpp
index 96e2737c78156cd80e8336ff637afb3ed1423682..e55464479aa177b6042d949230ff74aad038b5bc 100644
--- a/src/localplayer.cpp
+++ b/src/localplayer.cpp
@@ -512,15 +512,16 @@ void LocalPlayer::applyControl(float dtime)
 		}
 	}
 
-	if(continuous_forward)
+	if (continuous_forward)
 		speedH += move_direction;
 
-	if(control.up)
-	{
-		if(continuous_forward)
-			superspeed = true;
-		else
+	if (control.up) {
+		if (continuous_forward) {
+			if (fast_move)
+				superspeed = true;
+		} else {
 			speedH += move_direction;
+		}
 	}
 	if(control.down)
 	{