diff --git a/code/datums/components/storage/concrete/wallet.dm b/code/datums/components/storage/concrete/wallet.dm
index 0b8638d1675..c019bb0a596 100644
--- a/code/datums/components/storage/concrete/wallet.dm
+++ b/code/datums/components/storage/concrete/wallet.dm
@@ -1,5 +1,5 @@
/datum/component/storage/concrete/wallet/on_alt_click(datum/source, mob/user)
- if(!isliving(user) || !user.CanReach(parent))
+ if(!isliving(user) || !user.CanReach(parent) || user.incapacitated())
return
if(locked)
to_chat(user, "[parent] seems to be locked!")
diff --git a/code/datums/components/storage/storage.dm b/code/datums/components/storage/storage.dm
index 8a62b34a9a8..367fbc42d8d 100644
--- a/code/datums/components/storage/storage.dm
+++ b/code/datums/components/storage/storage.dm
@@ -780,7 +780,7 @@
return hide_from(target)
/datum/component/storage/proc/on_alt_click(datum/source, mob/user)
- if(!isliving(user) || !user.CanReach(parent))
+ if(!isliving(user) || !user.CanReach(parent) || user.incapacitated())
return
if(locked)
to_chat(user, "[parent] seems to be locked!")
@@ -793,17 +793,15 @@
playsound(A, "rustle", 50, TRUE, -5)
return
- if(!user.incapacitated())
- var/obj/item/I = locate() in real_location()
- if(!I)
- return
- A.add_fingerprint(user)
- remove_from_storage(I, get_turf(user))
- if(!user.put_in_hands(I))
- to_chat(user, "You fumble for [I] and it falls on the floor.")
- return
- user.visible_message("[user] draws [I] from [parent]!", "You draw [I] from [parent].")
+ var/obj/item/I = locate() in real_location()
+ if(!I)
return
+ A.add_fingerprint(user)
+ remove_from_storage(I, get_turf(user))
+ if(!user.put_in_hands(I))
+ to_chat(user, "You fumble for [I] and it falls on the floor.")
+ return
+ user.visible_message("[user] draws [I] from [parent]!", "You draw [I] from [parent].")
/datum/component/storage/proc/action_trigger(datum/signal_source, datum/action/source)
gather_mode_switch(source.owner)