diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 3c33d8f66a0..981fcbd7678 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -273,7 +273,9 @@
if(!istype(user) || user.incapacitated())
to_chat(user, "You can't do that right now!")
return
- if(!in_range(src, user) || issilicon(usr))
+ if(!in_range(src, user))
+ return
+ if(!ishuman(usr))
return
if(amount < 1)
return
diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
index c396cec9549..f66bff1f03d 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
@@ -59,6 +59,8 @@
if(usr.incapacitated())
to_chat(usr, "You can't do that right now!")
return
+ if(!ishuman(usr))
+ return
usr.visible_message("[usr] grabs \the [src.name].", "You grab \the [src.name].")
var/C = new item_chair(loc)
usr.put_in_hands(C)
diff --git a/code/modules/games/cards.dm b/code/modules/games/cards.dm
index a24f947a25a..37a5e52b466 100644
--- a/code/modules/games/cards.dm
+++ b/code/modules/games/cards.dm
@@ -219,6 +219,8 @@
var/mob/M = usr
if(M.incapacitated() || !Adjacent(M))
return
+ if(!ishuman(M))
+ return
if(over_object == M || istype(over_object, /obj/screen))
if(!remove_item_from_storage(M))
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index 9f8d2335a9e..a3f41c0ac25 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -30,6 +30,8 @@
var/mob/M = usr
if(M.restrained() || M.stat || !Adjacent(M))
return
+ if(!ishuman(M))
+ return
if(over_object == M)
if(!remove_item_from_storage(M))