diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index bd6a2472562..d056fdaafca 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -129,11 +129,9 @@
return 1
/obj/structure/closet/proc/toggle(mob/user as mob)
- var/orig = src.opened
- . = src.opened ? src.close() : src.open()
- if(. == orig)
+ if(!(src.opened ? src.close() : src.open()))
user << "It won't budge!"
- return
+ return
// this should probably use dump_contents()
/obj/structure/closet/ex_act(severity)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
index 12d2e3fed40..f4a3d553d9d 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -1,5 +1,5 @@
/obj/structure/closet/secure_closet/personal
- desc = "It's a secure locker for personell. The first card swiped gains control."
+ desc = "It's a secure locker for personnel. The first card swiped gains control."
name = "personal closet"
req_access = list(access_all_personal_lockers)
var/registered_name = null
@@ -68,7 +68,9 @@
return
var/obj/item/weapon/card/id/I = W
if(!I || !I.registered_name) return
- if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name)))
+ if(src == user.loc)
+ user << "You can't reach the lock from inside."
+ else if(src.allowed(user) || !src.registered_name || (istype(I) && (src.registered_name == I.registered_name)))
//they can open all lockers, or nobody owns this, or they own this locker
src.locked = !( src.locked )
if(src.locked) src.icon_state = src.icon_locked