diff --git a/nms-patches/BlockSoil.patch b/nms-patches/BlockSoil.patch
index bb670a3691..a7d37719a7 100644
--- a/nms-patches/BlockSoil.patch
+++ b/nms-patches/BlockSoil.patch
@@ -12,20 +12,7 @@
  public class BlockSoil extends Block {
  
      public static final BlockStateInteger MOISTURE = BlockStateInteger.of("moisture", 0, 7);
-@@ -36,6 +41,12 @@
-             if (i > 0) {
-                 world.setTypeAndData(blockposition, iblockdata.set(BlockSoil.MOISTURE, Integer.valueOf(i - 1)), 2);
-             } else if (!this.c(world, blockposition)) {
-+                // CraftBukkit start
-+                org.bukkit.block.Block block = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
-+                if (CraftEventFactory.callBlockFadeEvent(block, Blocks.DIRT).isCancelled()) {
-+                    return;
-+                }
-+                // CraftBukkit end
-                 b(world, blockposition);
-             }
-         } else if (i < 7) {
-@@ -45,11 +56,29 @@
+@@ -45,14 +50,38 @@
      }
  
      public void fallOn(World world, BlockPosition blockposition, Entity entity, float f) {
@@ -56,3 +43,12 @@
      }
  
      protected static void b(World world, BlockPosition blockposition) {
++        // CraftBukkit start
++        org.bukkit.block.Block block = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
++        if (CraftEventFactory.callBlockFadeEvent(block, Blocks.DIRT).isCancelled()) {
++            return;
++        }
++        // CraftBukkit end
+         world.setTypeUpdate(blockposition, Blocks.DIRT.getBlockData());
+         AxisAlignedBB axisalignedbb = BlockSoil.c.a(blockposition);
+         List list = world.getEntities((Entity) null, axisalignedbb);