diff --git a/src/p_user.cpp b/src/p_user.cpp index cb15b18f9..7b332cb0e 100644 --- a/src/p_user.cpp +++ b/src/p_user.cpp @@ -2569,9 +2569,14 @@ void P_UnPredictPlayer () if (player->cheats & CF_PREDICTING) { AActor *act = player->mo; + AActor *savedcamera = player->camera; *player = PredictionPlayerBackup; + // Restore the camera instead of using the backup's copy, because spynext/prev + // could cause it to change during prediction. + player->camera = savedcamera; + act->UnlinkFromWorld (); memcpy (&act->x, PredictionActorBackup, sizeof(AActor)-((BYTE *)&act->x-(BYTE *)act));