diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm
index 9e59959f1f6..dd2c052c61e 100644
--- a/code/modules/mob/living/silicon/silicon_defense.dm
+++ b/code/modules/mob/living/silicon/silicon_defense.dm
@@ -64,17 +64,20 @@
. = FALSE
if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_CANCEL_ATTACK_CHAIN)
. = TRUE
- if(user.combat_mode)
- user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
- playsound(src.loc, 'sound/effects/bang.ogg', 10, TRUE)
- visible_message("[user] punches [src], but doesn't leave a dent!", \
- "[user] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You punch [src], but don't leave a dent!")
+ if(has_buckled_mobs() && !user.combat_mode)
+ user_unbuckle_mob(buckled_mobs[1], user)
else
- visible_message("[user] pets [src].", \
- "[user] pets you.", null, null, user)
- to_chat(user, "You pet [src].")
- SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT_RND, "pet_borg", /datum/mood_event/pet_borg)
+ if(user.combat_mode)
+ user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
+ playsound(src.loc, 'sound/effects/bang.ogg', 10, TRUE)
+ visible_message("[user] punches [src], but doesn't leave a dent!", \
+ "[user] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, "You punch [src], but don't leave a dent!")
+ else
+ visible_message("[user] pets [src].", \
+ "[user] pets you.", null, null, user)
+ to_chat(user, "You pet [src].")
+ SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT_RND, "pet_borg", /datum/mood_event/pet_borg)
/mob/living/silicon/attack_drone(mob/living/simple_animal/drone/M)