diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index 4a0faea722..68781a5e45 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -112,14 +112,17 @@
to_chat(user, "[src] is empty.")
return
- if(!target.is_injectable())
+ if(!L && !target.is_injectable()) //only checks on non-living mobs, due to how can_inject() handles
to_chat(user, "You cannot directly fill [target]!")
return
+
if(target.reagents.total_volume >= target.reagents.maximum_volume)
to_chat(user, "[target] is full.")
return
if(L) //living mob
+ if(!L.can_inject(user, TRUE))
+ return
if(L != user)
L.visible_message("[user] is trying to inject [L]!", \
"[user] is trying to inject [L]!")