diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 3e20118784..2183f8cb9c 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -3373,11 +3373,14 @@ void AActor::Tick () } } - UnlinkFromWorld (); - flags |= MF_NOBLOCKMAP; - SetXYZ(Vec3Offset(Vel)); - CheckPortalTransition(false); - LinkToWorld (); + if (!Vel.isZero() || !(flags & MF_NOBLOCKMAP)) + { + UnlinkFromWorld(); + flags |= MF_NOBLOCKMAP; + SetXYZ(Vec3Offset(Vel)); + CheckPortalTransition(false); + LinkToWorld(); + } } else {