diff --git a/source/games/duke/src/actors_d.cpp b/source/games/duke/src/actors_d.cpp index cfd040f3f..3ceec1382 100644 --- a/source/games/duke/src/actors_d.cpp +++ b/source/games/duke/src/actors_d.cpp @@ -3073,7 +3073,7 @@ void move_d(DDukeActor *actor, int playernum, int xvel) { if ((badguy(actor) && actor->spr.extra <= 0) || (actor->opos.X != actor->spr.pos.X) || (actor->opos.Y != actor->spr.pos.Y)) { - actor->backupvec2(); + if (actor->spr.picnum != APLAYER) actor->backupvec2(); SetActor(actor, actor->spr.pos); } return; diff --git a/source/games/duke/src/actors_r.cpp b/source/games/duke/src/actors_r.cpp index 273f8852e..01882e5ec 100644 --- a/source/games/duke/src/actors_r.cpp +++ b/source/games/duke/src/actors_r.cpp @@ -3307,7 +3307,7 @@ void move_r(DDukeActor *actor, int pnum, int xvel) { if ((badguy(actor) && actor->spr.extra <= 0) || (actor->opos.X != actor->spr.pos.X) || (actor->opos.Y != actor->spr.pos.Y)) { - actor->backupvec2(); + if (actor->spr.picnum != APLAYER) actor->backupvec2(); SetActor(actor, actor->spr.pos); } if (badguy(actor) && actor->spr.extra <= 0)