diff --git a/Spigot-Server-Patches/0174-Process-NMS-Data-Conversion-post-ItemMeta-on-Copy.patch b/Spigot-Server-Patches/0174-Process-NMS-Data-Conversion-post-ItemMeta-on-Copy.patch
new file mode 100644
index 0000000000..d7a941797e
--- /dev/null
+++ b/Spigot-Server-Patches/0174-Process-NMS-Data-Conversion-post-ItemMeta-on-Copy.patch
@@ -0,0 +1,65 @@
+From 1db407564fbdd4f31b348c62f11b15be0eb27c7c Mon Sep 17 00:00:00 2001
+From: Aikar <aikar@aikar.co>
+Date: Wed, 4 May 2016 22:31:18 -0400
+Subject: [PATCH] Process NMS Data Conversion post ItemMeta on Copy
+
+ItemMeta apply is a destructive process that expects to be the authority on
+what the items NBT data is.
+
+When CraftItemStack.asNMSCopy was called, the conversion ran, potentially setting
+the converted data into the ItemStacks tag.
+
+Then if that item had ItemMeta, it would completely undo that conversion by
+erasing the NBT Tag.
+
+On copy, run conversion post ItemMeta apply.
+
+diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
+index d45a9ec..a8874d2 100644
+--- a/src/main/java/net/minecraft/server/ItemStack.java
++++ b/src/main/java/net/minecraft/server/ItemStack.java
+@@ -53,7 +53,12 @@ public final class ItemStack {
+         this(item, i, 0);
+     }
+ 
++    // Paper start
+     public ItemStack(Item item, int i, int j) {
++        this(item, i, j, true);
++    }
++    public ItemStack(Item item, int i, int j, boolean convert) {
++        // Paper end
+         this.item = item;
+         this.count = i;
+ 
+@@ -63,6 +68,11 @@ public final class ItemStack {
+         //if (this.damage < 0) {
+         //    this.damage = 0;
+         //}
++        // Paper start
++        if (convert) convertData();
++    }
++    public final void convertData() {
++        // Paper end
+         if (MinecraftServer.getServer() != null) {
+             NBTTagCompound savedStack = new NBTTagCompound();
+             this.save(savedStack);
+diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+index 88f0292..7f77d44 100644
+--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java
+@@ -45,10 +45,11 @@ public final class CraftItemStack extends ItemStack {
+             return null;
+         }
+ 
+-        net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item, original.getAmount(), original.getDurability());
++        net.minecraft.server.ItemStack stack = new net.minecraft.server.ItemStack(item, original.getAmount(), original.getDurability(), false); // Paper
+         if (original.hasItemMeta()) {
+             setItemMeta(stack, original.getItemMeta());
+         }
++        stack.convertData(); // Paper
+         return stack;
+     }
+ 
+-- 
+2.9.3
+