--- a/net/minecraft/server/RecipesBanner.java
+++ b/net/minecraft/server/RecipesBanner.java
@@ -20,9 +20,13 @@
         craftingmanager.a(new RecipesBanner.AddRecipe(null));
     }
 
-    static class AddRecipe implements IRecipe {
+    static class AddRecipe extends ShapelessRecipes implements IRecipe { // CraftBukkit - added extends
 
-        private AddRecipe() {}
+        // CraftBukkit start - Delegate to new parent class with bogus info
+        private AddRecipe() {
+            super(new ItemStack(Items.BANNER, 0, 0), java.util.Arrays.asList(new ItemStack(Items.BANNER)));
+        }
+        // CraftBukkit end
 
         public boolean a(InventoryCrafting inventorycrafting, World world) {
             boolean flag = false;
@@ -208,9 +212,13 @@
         }
     }
 
-    static class DuplicateRecipe implements IRecipe {
+    static class DuplicateRecipe extends ShapelessRecipes implements IRecipe { // CraftBukkit - added extends
 
-        private DuplicateRecipe() {}
+        // CraftBukkit start - Delegate to new parent class with bogus info
+        private DuplicateRecipe() {
+            super(new ItemStack(Items.BANNER, 0, 0), java.util.Arrays.asList(new ItemStack(Items.DYE, 0, 5)));
+        }
+        // CraftBukkit end
 
         public boolean a(InventoryCrafting inventorycrafting, World world) {
             ItemStack itemstack = ItemStack.a;