diff --git a/src/g_game.c b/src/g_game.c
index 5f34846b670259835ddb9be2fe29dac27fda66ee..f5bc56e1c16f405540088cfbe4159b6404254db9 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -1386,7 +1386,7 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
 			fixed_t camadjustfactor = cv_cam_turnfacinginput[forplayer].value; //@TODO cvar
 
 			if (camadjustfactor)
-				*myangle -= cmd->sidemove * 50 * camadjustfactor;
+				*myangle -= cmd->sidemove * min(50, player->speed / (FRACUNIT/7)) * camadjustfactor;
 		}
 
 		if (abilitydirection && camera.chase && !player->climbing && !forcestrafe && (player->pflags & PF_DIRECTIONCHAR))