--- a/net/minecraft/server/TileEntityBanner.java
+++ b/net/minecraft/server/TileEntityBanner.java
@@ -30,6 +30,11 @@
 
         if (nbttagcompound != null && nbttagcompound.hasKeyOfType("Patterns", 9)) {
             this.patterns = nbttagcompound.getList("Patterns", 10).clone();
+            // CraftBukkit start
+            while (this.patterns.size() > 20) {
+                this.patterns.remove(20);
+            }
+            // CraftBukkit end
         }
 
         this.color = enumcolor;
@@ -79,6 +84,11 @@
         }
 
         this.patterns = nbttagcompound.getList("Patterns", 10);
+        // CraftBukkit start
+        while (this.patterns.size() > 20) {
+            this.patterns.remove(20);
+        }
+        // CraftBukkit end
         this.h = null;
         this.i = null;
         this.j = null;