diff --git a/src/p_mobj.c b/src/p_mobj.c
index 40ef447f84eeff9336f39a715820b50512b7437b..39c6731b81ab41b378f748eb42fe28762642c350 100644
--- a/src/p_mobj.c
+++ b/src/p_mobj.c
@@ -2522,7 +2522,7 @@ boolean P_ZMovement(mobj_t *mo)
 					{
 						P_KillMobj(mo, NULL, NULL, 0);
 					}
-					return false;
+					return !P_MobjWasRemoved(mo); // allows explosion states to run
 				}
 				else
 				{