          i = MathHelper.func_76125_a(i, 0, this.field_76645_j.length - 1);
          j = MathHelper.func_76125_a(j, 0, this.field_76645_j.length - 1);
  
-@@ -1139,6 +1138,15 @@
+@@ -1139,6 +1142,15 @@
      @SideOnly(Side.CLIENT)
      public void func_76607_a(byte[] p_76607_1_, int p_76607_2_, int p_76607_3_, boolean p_76607_4_)
      {

                 {
                     TileEntity tileentity = this.func_150806_e(p_76589_1_, p_76589_2_, p_76589_3_);
 
@@ -790,6 +786,7 @@
             k = this.field_76645_j.length - 1;
         }
 

+                }
             }
 
+            if (!block1.hasTileEntity(k1))
+            {
+                extendedblockstorage.func_76654_b(p_150807_1_, p_150807_2_ & 15, p_150807_3_, p_150807_5_); // Don't do this if we alredy have in the TE code above.
+            }
+
             if (extendedblockstorage.func_150819_a(p_150807_1_, p_150807_2_ & 15, p_150807_3_) != p_150807_4_)
             {
                 return false;
             }
             else
             {
