diff --git a/patches/api/Legacy-data-should-look-for-legacy-materials.patch b/patches/api/Legacy-data-should-look-for-legacy-materials.patch
new file mode 100644
index 0000000000..9fdd2b7c00
--- /dev/null
+++ b/patches/api/Legacy-data-should-look-for-legacy-materials.patch
@@ -0,0 +1,19 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Shane Freeder <theboyetronic@gmail.com>
+Date: Fri, 17 Sep 2021 09:26:06 +0100
+Subject: [PATCH] Legacy data should look for legacy materials
+
+
+diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/org/bukkit/inventory/ItemStack.java
++++ b/src/main/java/org/bukkit/inventory/ItemStack.java
+@@ -0,0 +0,0 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor
+ 
+         Material type;
+         if (version < 0) {
+-            type = Material.getMaterial(Material.LEGACY_PREFIX + (String) args.get("type"));
++            type = Material.getMaterial(Material.LEGACY_PREFIX + (String) args.get("type"), true);
+ 
+             byte dataVal = (type != null && type.getMaxDurability() == 0) ? (byte) damage : 0; // Actually durable items get a 0 passed into conversion
+             type = Bukkit.getUnsafe().fromLegacy(new MaterialData(type, dataVal), true);