diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 616cd27a2d..b00212b0de 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -812,16 +812,18 @@
to_chat(usr, "The [name] is already occupied!")
log_append_to_last("Permission denied.")
return
- var/passed
if(dna_lock)
+ var/passed = FALSE
if(user.has_dna())
var/mob/living/carbon/C = user
if(C.dna.unique_enzymes==dna_lock)
- passed = 1
- else if(operation_allowed(user))
- passed = 1
- if(!passed)
- to_chat(user, "Access denied.")
+ passed = TRUE
+ if (!passed)
+ to_chat(user, "Access denied. [name] is secured with a DNA lock.")
+ log_append_to_last("Permission denied.")
+ return
+ if(!operation_allowed(user))
+ to_chat(user, "Access denied. Insufficient operation keycodes.")
log_append_to_last("Permission denied.")
return
if(user.buckled)