diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 12eca7544bd..c7cb8b18031 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -851,10 +851,16 @@ About the new airlock wires panel:
/obj/machinery/door/airlock/proc/toggle_bolt(mob/user)
if(wires.is_cut(WIRE_DOOR_BOLTS))
to_chat(user, "The door bolt control wire has been cut - Door bolts permanently dropped.")
- else if(lock())
- to_chat(user, "The door bolts have been dropped.")
- else if(unlock())
+ return
+
+ if(unlock()) // Trying to unbolt
to_chat(user, "The door bolts have been raised.")
+ return
+
+ if(lock()) // Trying to bolt
+ to_chat(user, "The door bolts have been dropped.")
+ user.create_log(MISC_LOG, "Bolted", src)
+ add_hiddenprint(user)
/obj/machinery/door/airlock/proc/toggle_emergency_status(mob/user)
emergency = !emergency