--- a/net/minecraft/server/BlockOre.java
+++ b/net/minecraft/server/BlockOre.java
@@ -15,6 +15,7 @@
     @Override
     public void dropNaturally(IBlockData iblockdata, World world, BlockPosition blockposition, ItemStack itemstack) {
         super.dropNaturally(iblockdata, world, blockposition, itemstack);
+        /* CraftBukkit start - Delegated to getExpDrop
         if (EnchantmentManager.getEnchantmentLevel(Enchantments.SILK_TOUCH, itemstack) == 0) {
             int i = this.a(world.random);
 
@@ -22,6 +23,21 @@
                 this.dropExperience(world, blockposition, i);
             }
         }
+        // */
 
     }
+
+    @Override
+    public int getExpDrop(IBlockData iblockdata, World world, BlockPosition blockposition, ItemStack itemstack) {
+        if (EnchantmentManager.getEnchantmentLevel(Enchantments.SILK_TOUCH, itemstack) == 0) {
+            int i = this.a(world.random);
+
+            if (i > 0) {
+                return i;
+            }
+        }
+
+        return 0;
+        // CraftBukkit end
+    }
 }