diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index de1ec5661d..6641c8f58d 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -59,10 +59,11 @@
if(istype(AM, /obj/item))
var/obj/item/I = AM
if(isturf(I.loc))
- put_in_active_hand(I)
- visible_message("[src] catches [I]!")
- throw_mode_off()
- return 1
+ I.attack_hand(src)
+ if(get_active_held_item() == I) //if our attack_hand() picks up the item...
+ visible_message("[src] catches [I]!") //catch that sucker!
+ throw_mode_off()
+ return 1
..()