diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 1e1ef766f01..0aadd91f0da 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -388,9 +388,13 @@
launch_status = UNLAUNCHED
/obj/docking_port/mobile/pod/request()
- if((security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA) && launch_status == UNLAUNCHED)
- launch_status = EARLY_LAUNCHED
- return ..()
+ if(security_level == SEC_LEVEL_RED || security_level == SEC_LEVEL_DELTA)
+ if(launch_status == UNLAUNCHED)
+ launch_status = EARLY_LAUNCHED
+ return ..()
+ else
+ usr << "Escape pods will only launch during \"Code Red\" security alert."
+ return 1
/obj/docking_port/mobile/pod/New()
if(id == "pod")
@@ -420,12 +424,21 @@
width = 3
height = 4
var/target_area = /area/lavaland/surface/outdoors
+ var/edge_distance = 4
+ // Minimal distance from the map edge, setting this too low can result in shuttle landing on the edge and getting "sliced"
/obj/docking_port/stationary/random/initialize()
..()
var/list/turfs = get_area_turfs(target_area)
var/turf/T = pick(turfs)
- src.loc = T
+
+ while(turfs.len)
+ if(T.x