--- a/net/minecraft/world/entity/monster/Bogged.java
+++ b/net/minecraft/world/entity/monster/Bogged.java
@@ -79,6 +79,12 @@
             if (world instanceof WorldServer) {
                 WorldServer worldserver = (WorldServer) world;
 
+                // CraftBukkit start
+                if (!org.bukkit.craftbukkit.event.CraftEventFactory.handlePlayerShearEntityEvent(entityhuman, this, itemstack, enumhand)) {
+                    this.getEntityData().markDirty(Bogged.DATA_SHEARED); // CraftBukkit - mark dirty to restore sheared state to clients
+                    return EnumInteractionResult.PASS;
+                }
+                // CraftBukkit end
                 this.shear(worldserver, SoundCategory.PLAYERS, itemstack);
                 this.gameEvent(GameEvent.SHEAR, entityhuman);
                 itemstack.hurtAndBreak(1, entityhuman, getSlotForHand(enumhand));
