diff --git a/code/game/objects/micro_structures.dm b/code/game/objects/micro_structures.dm
index eaedc45645d..32955ed7720 100644
--- a/code/game/objects/micro_structures.dm
+++ b/code/game/objects/micro_structures.dm
@@ -54,11 +54,19 @@
var/choice = tgui_alert(user,"It's dark and gloomy in here. What would you like to do?","Tunnel",list("Exit", "Move", "Cancel"))
switch(choice)
if("Exit")
+ if(user.loc != src)
+ to_chat(user, "You can't do that unless you're in \the [src].")
+ return
+
user.forceMove(get_turf(src.loc))
user.cancel_camera()
user.visible_message("\The [user] climbs out of \the [src]!")
return
if("Move")
+ if(user.loc != src)
+ to_chat(user, "You can't do that unless you're in \the [src].")
+ return
+
var/list/destinations = list()
var/turf/myturf = get_turf(src.loc)
var/datum/planet/planet
@@ -239,12 +247,19 @@
var/choice = tgui_alert(usr,"What would you like to do?","[src]",list("Exit", "Move", "Cancel"))
switch(choice)
if("Exit")
+ if(usr.loc != src)
+ to_chat(usr, "You can't do that unless you're in \the [src].")
+ return
+
usr.forceMove(get_turf(src.loc))
usr.cancel_camera()
usr.visible_message("\The [usr] climbs out of \the [src]!")
return
if("Move")
+ if(usr.loc != src)
+ to_chat(usr, "You can't do that unless you're in \the [src].")
+ return
var/list/destinations = list()
var/turf/myturf = get_turf(src.loc)
for(var/obj/o in range(1,myturf))