diff --git a/src/p_user.c b/src/p_user.c
index e354a0e7bfa6a219dfd02a1cd70b84c52f8585e4..8e0439c0fa26e28def00147a19616b497c840015 100644
--- a/src/p_user.c
+++ b/src/p_user.c
@@ -6194,7 +6194,7 @@ static void P_3dMovement(player_t *player)
 			if (finalMagnitude > topspeed)
 			{
 				const fixed_t currentToTopSpeedDelta = max(0, topspeed - oldMagnitude);
-				const fixed_t aimSpeed = max(topspeed + ((oldMagnitude - topspeed) * 5) / 8, topspeed);
+				const fixed_t aimSpeed = max(topspeed + ((oldMagnitude - topspeed) * 9) / 10, topspeed);
 				fixed_t actualFriction = ORIG_FRICTION;
 				fixed_t thrustAmount;
 				vector2_t v2TotalThrust;