diff --git a/src/playsim/p_mobj.cpp b/src/playsim/p_mobj.cpp index 2cfcb543ec9..10a420fa727 100644 --- a/src/playsim/p_mobj.cpp +++ b/src/playsim/p_mobj.cpp @@ -3968,7 +3968,13 @@ void AActor::Tick () } if (Vel.Z != 0 && (BounceFlags & BOUNCE_Actors)) { - P_BounceActor(this, onmo, true); + bool res = P_BounceActor(this, onmo, true); + // If the bouncer is a missile and has hit the other actor it needs to be exploded here + // to be in line with the case when an actor's side is hit. + if (!res && (flags & MF_MISSILE)) + { + P_ExplodeMissile(this, nullptr, onmo); + } } else {