diff --git a/code/game/objects/effects/phased_mob.dm b/code/game/objects/effects/phased_mob.dm
index 05b9f6d2141..e04aebbb365 100644
--- a/code/game/objects/effects/phased_mob.dm
+++ b/code/game/objects/effects/phased_mob.dm
@@ -10,7 +10,10 @@
/obj/effect/dummy/phased_mob/Destroy()
// Eject contents if deleted somehow
- var/area/destination_area = get_turf(src)
+ var/atom/dest = drop_location()
+ if(!dest) //You're in nullspace you clown
+ return ..()
+ var/area/destination_area = get_area(dest)
var/failed_areacheck = FALSE
if(destination_area.area_flags & NOTELEPORT)
failed_areacheck = TRUE
@@ -47,15 +50,16 @@
if (movedelay > world.time || !direction)
return
var/turf/newloc = get_step(src,direction)
- var/area/destination_area = newloc.loc
if(!newloc)
return
+ var/area/destination_area = newloc.loc
movedelay = world.time + movespeed
if(newloc.flags_1 & NOJAUNT_1)
to_chat(user, "Some strange aura is blocking the way.")
return
if(destination_area.area_flags & NOTELEPORT)
to_chat(user, "Some dull, universal force is blocking the way. It's overwhelmingly oppressive force feels dangerous.")
+ return
return newloc
/// React to signals by deleting the effect. Used for bloodcrawl.