diff --git a/src/p_enemy.c b/src/p_enemy.c
index 149a6a3aa199157dba98715c3916ee6cba6312a6..d943f9e78b480956a372f6da7dca327583cb6974 100644
--- a/src/p_enemy.c
+++ b/src/p_enemy.c
@@ -2353,7 +2353,7 @@ void A_VultureHover(mobj_t *actor)
 		return;
 #endif
 
-	if (!actor->target)
+	if (!actor->target || P_MobjWasRemoved(actor->target))
 	{
 		P_SetMobjState(actor, actor->info->spawnstate);
 		return;
@@ -12897,7 +12897,7 @@ void A_DustDevilThink(mobj_t *actor)
 #endif
 
 	//Chained thinker for the spiralling dust column.
-	while (layer) {
+	while (layer && !P_MobjWasRemoved(layer)) {
 		angle_t fa = layer->angle >> ANGLETOFINESHIFT;
 		P_TeleportMove(layer, layer->x + 5 * FixedMul(scale, FINECOSINE(fa)), layer->y + 5 * FixedMul(scale, FINESINE(fa)), layer->z);
 		layer->scale = scale;