diff --git a/src/p_mobj.c b/src/p_mobj.c
index 5ab11ba2c8441ea7e193f40d8ac6d19232174c9c..2bd3950a9709f14c8e5d5c933d05cd55e6a969db 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -8200,13 +8200,13 @@ void P_MobjThinker(mobj_t *mobj)
 				var2 = 0;
 				A_BossScream(mobj);
 			}
+			if (P_CheckDeathPitCollide(mobj))
+			{
+				P_RemoveMobj(mobj);
+				return;
+			}
 			if (mobj->momz && mobj->z+mobj->momz <= mobj->floorz)
 			{
-				if (P_CheckDeathPitCollide(mobj))
-				{
-					P_RemoveMobj(mobj);
-					return;
-				}
 				S_StartSound(mobj, sfx_befall);
 				if (mobj->state != states+S_CYBRAKDEMON_DIE8)
 					P_SetMobjState(mobj, S_CYBRAKDEMON_DIE8);