diff --git a/source/games/duke/src/player_d.cpp b/source/games/duke/src/player_d.cpp index d565ef322..73c0b7a63 100644 --- a/source/games/duke/src/player_d.cpp +++ b/source/games/duke/src/player_d.cpp @@ -2851,7 +2851,7 @@ void processinput_d(int snum) pact->spr.xvel = clamp(ksqrt((p->pos.X - p->bobpos.X) * (p->pos.X - p->bobpos.X) + (p->pos.Y - p->bobpos.Y) * (p->pos.Y - p->bobpos.Y)), 0, 512); if (p->on_ground) p->bobcounter += p->GetActor()->spr.xvel >> 1; - p->backuppos(ud.clipping == 0 && (p->cursector->floorpicnum == MIRROR || !p->insector())); + p->backuppos(ud.clipping == 0 && ((p->insector() && p->cursector->floorpicnum == MIRROR) || !p->insector())); // Shrinking code diff --git a/source/games/duke/src/player_r.cpp b/source/games/duke/src/player_r.cpp index 768aefa5a..dee0c624f 100644 --- a/source/games/duke/src/player_r.cpp +++ b/source/games/duke/src/player_r.cpp @@ -3566,7 +3566,7 @@ void processinput_r(int snum) pact->spr.xvel = clamp(ksqrt((p->pos.X - p->bobpos.X) * (p->pos.X - p->bobpos.X) + (p->pos.Y - p->bobpos.Y) * (p->pos.Y - p->bobpos.Y)), 0, 512); if (p->on_ground) p->bobcounter += p->GetActor()->spr.xvel >> 1; - p->backuppos(ud.clipping == 0 && (p->cursector->floorpicnum == MIRROR || !p->insector())); + p->backuppos(ud.clipping == 0 && ((p->insector() && p->cursector->floorpicnum == MIRROR) || !p->insector())); // Shrinking code