diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm
index 5ea18b631c..d52482c4ab 100644
--- a/code/modules/mining/aux_base.dm
+++ b/code/modules/mining/aux_base.dm
@@ -44,7 +44,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
for(var/obj/docking_port/stationary/S in SSshuttle.stationary)
if(!options.Find(S.id))
continue
- if(!M.check_dock(S))
+ if(!M.check_dock(S, silent=TRUE))
continue
destination_found = 1
dat += "Send to [S.name]
"
diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm
index 216aea306a..226de32755 100644
--- a/code/modules/shuttle/computer.dm
+++ b/code/modules/shuttle/computer.dm
@@ -23,7 +23,7 @@
for(var/obj/docking_port/stationary/S in SSshuttle.stationary)
if(!options.Find(S.id))
continue
- if(!M.check_dock(S))
+ if(!M.check_dock(S, silent=TRUE))
continue
destination_found = 1
dat += "Send to [S.name]
"
diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm
index 3b907128f3..f539c0dd14 100644
--- a/code/modules/shuttle/shuttle.dm
+++ b/code/modules/shuttle/shuttle.dm
@@ -335,18 +335,17 @@
return SHUTTLE_CAN_DOCK
-/obj/docking_port/mobile/proc/check_dock(obj/docking_port/stationary/S)
+/obj/docking_port/mobile/proc/check_dock(obj/docking_port/stationary/S, silent=FALSE)
var/status = canDock(S)
if(status == SHUTTLE_CAN_DOCK)
return TRUE
- else if(status == SHUTTLE_ALREADY_DOCKED)
+ else
+ if(status != SHUTTLE_ALREADY_DOCKED && !silent) // SHUTTLE_ALREADY_DOCKED is no cause for error
+ var/msg = "Shuttle [src] cannot dock at [S], error: [status]"
+ message_admins(msg)
// We're already docked there, don't need to do anything.
// Triggering shuttle movement code in place is weird
return FALSE
- else
- var/msg = "Shuttle [src] cannot dock at [S], error: [status]"
- message_admins(msg)
- return FALSE
/obj/docking_port/mobile/proc/transit_failure()
message_admins("Shuttle [src] repeatedly failed to create transit zone.")