diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 8712052229b..4faf5477a83 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -633,7 +633,11 @@ emp_act
add_attack_logs(M, src, "Alien attacked")
updatehealth("alien attack")
- if(M.a_intent == INTENT_DISARM) //Always drop item in hand, if no item, get stun instead.
+ if(M.a_intent == INTENT_DISARM) //If not absorbed, always drop item in hand, if no item, get stun instead.
+ if(absorb_stun(0))
+ visible_message("[src] is not affected by [M]'s disarm attempt!")
+ playsound(loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
+ return FALSE
var/obj/item/I = get_active_hand()
if(I && unEquip(I))
playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm
index 4ad919aa469..8fe46194960 100644
--- a/code/modules/mob/living/carbon/human/species/_species.dm
+++ b/code/modules/mob/living/carbon/human/species/_species.dm
@@ -513,6 +513,11 @@
if(target.check_block())
target.visible_message("[target] blocks [user]'s disarm attempt!")
return FALSE
+ if(target.absorb_stun(0))
+ target.visible_message("[target] is not affected by [user]'s disarm attempt!")
+ user.do_attack_animation(target, ATTACK_EFFECT_DISARM)
+ playsound(target.loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
+ return FALSE
if(attacker_style && attacker_style.disarm_act(user, target) == TRUE)
return TRUE
else