--- a/net/minecraft/server/BlockDispenser.java
+++ b/net/minecraft/server/BlockDispenser.java
@@ -8,9 +8,10 @@
 
     public static final BlockStateDirection FACING = BlockDirectional.FACING;
     public static final BlockStateBoolean TRIGGERED = BlockProperties.w;
-    public static final Map<Item, IDispenseBehavior> REGISTRY = (Map) SystemUtils.a((Object) (new Object2ObjectOpenHashMap()), (object2objectopenhashmap) -> {
+    public static final Map<Item, IDispenseBehavior> REGISTRY = (Map) SystemUtils.a((new Object2ObjectOpenHashMap()), (object2objectopenhashmap) -> { // CraftBukkit - decompile error
         object2objectopenhashmap.defaultReturnValue(new DispenseBehaviorItem());
     });
+    public static boolean eventFired = false; // CraftBukkit
 
     public static void a(IMaterial imaterial, IDispenseBehavior idispensebehavior) {
         BlockDispenser.REGISTRY.put(imaterial.getItem(), idispensebehavior);
@@ -56,6 +57,7 @@
             IDispenseBehavior idispensebehavior = this.a(itemstack);
 
             if (idispensebehavior != IDispenseBehavior.NONE) {
+                eventFired = false; // CraftBukkit - reset event status
                 tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack));
             }