diff --git a/code/modules/antagonists/bloodsucker/powers/feed.dm b/code/modules/antagonists/bloodsucker/powers/feed.dm
index cbb9693fba..a113f9c083 100644
--- a/code/modules/antagonists/bloodsucker/powers/feed.dm
+++ b/code/modules/antagonists/bloodsucker/powers/feed.dm
@@ -43,10 +43,14 @@
to_chat(owner, "Lesser beings require a tighter grip.")
return FALSE
// Bloodsuckers:
- else if(iscarbon(target) && target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER))
- if(display_error)
- to_chat(owner, "Other Bloodsuckers will not fall for your subtle approach.")
- return FALSE
+ else if(ishuman(target))
+ var/mob/living/carbon/human/H = target
+ if(!H.can_inject(owner, TRUE, BODY_ZONE_CHEST))
+ return FALSE
+ if(target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER))
+ if(display_error)
+ to_chat(owner, "Other Bloodsuckers will not fall for your subtle approach.")
+ return FALSE
// Must have Target
if(!target) // || !ismob(target)
if(display_error)
@@ -63,6 +67,8 @@
return FALSE
if(ishuman(target))
var/mob/living/carbon/human/H = target
+ if(!H.can_inject(owner, TRUE, BODY_ZONE_HEAD) && target == owner.pulling && owner.grab_state < GRAB_AGGRESSIVE)
+ return FALSE
if(NOBLOOD in H.dna.species.species_traits)// || owner.get_blood_id() != target.get_blood_id())
if(display_error)
to_chat(owner, "Your victim's blood is not suitable for you to take.")