diff --git a/src/p_mobj.c b/src/p_mobj.c index c8adb6f1d69e0cd0e2f51fbba463703613813482..a290bd0749c0550174cba058739f77c0215fb0ba 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -10061,6 +10061,8 @@ static boolean P_FuseThink(mobj_t *mobj) case MT_SPIKE: case MT_WALLSPIKE: P_SetMobjState(mobj, mobj->state->nextstate); + if (P_MobjWasRemoved(mobj)) + return false; mobj->fuse = mobj->spawnpoint ? mobj->spawnpoint->args[0] : mobj->info->speed; break; case MT_NIGHTSCORE: @@ -10222,6 +10224,9 @@ void P_MobjThinker(mobj_t *mobj) if (mobj->flags2 & MF2_FIRING) P_FiringThink(mobj); + if (P_MobjWasRemoved(mobj)) + return; + if (mobj->type == MT_AMBIENT) { if (leveltime % mobj->health)