diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 8538c7ab9d3..c3cdd98d277 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -265,8 +265,11 @@
user.visible_message("[user] [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \
"You [anchored ? "anchored" : "unanchored"] \the [src] [anchored ? "to" : "from"] the ground.", \
"You hear a ratchet.")
- else if(user.a_intent != INTENT_HARM && !(W.item_flags & NOBLUDGEON))
- if(W.GetID() || !toggle(user))
+ else if(user.a_intent != INTENT_HARM)
+ var/item_is_id = W.GetID()
+ if(!item_is_id && !(W.item_flags & NOBLUDGEON))
+ return FALSE
+ if(item_is_id || !toggle(user))
togglelock(user)
else
return FALSE