  public class RenderEngine
  {
      public static boolean field_1609_a = false;
-@@ -459,23 +466,38 @@
+@@ -459,23 +466,40 @@
          for (int var2 = 0; var2 < this.field_1604_f.size(); ++var2)
          {
              TextureFX var3 = (TextureFX)this.field_1604_f.get(var2);

                 }
             }
         }
@@ -635,4 +657,8 @@
             GL11.glBindTexture(GL11.GL_TEXTURE_2D, p_1076_1_);
         }
     }

+            Profiler.func_40663_a(var3.getClass().getSimpleName());
             var3.func_783_a();
+            Profiler.func_40662_b();
+            if (var3.field_1127_a.length!=var3.textureGridSize<<2) {
+                if (!var3.hasWarned) {
+                    FMLCommonHandler.instance().getFMLLogger().warning(String.format("Detected a texture FX discrepancy in %s (%d, %d)",var3.getClass().getSimpleName(), var3.field_1127_a.length, var3.textureGridSize<<2));
+                    var3.hasWarned=true;
+                }
+                continue;
+            }
             this.field_1605_e.clear();
