diff --git a/Spigot-Server-Patches/SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch b/Spigot-Server-Patches/SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch
new file mode 100644
index 0000000000..f32661f107
--- /dev/null
+++ b/Spigot-Server-Patches/SPIGOT-1401-Fix-dispenser-dropper-furnace-placement.patch
@@ -0,0 +1,53 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Zach Brown <1254957+zachbr@users.noreply.github.com>
+Date: Sun, 24 Apr 2016 19:49:33 -0500
+Subject: [PATCH] SPIGOT-1401: Fix dispenser, dropper, furnace placement
+
+
+diff --git a/src/main/java/net/minecraft/server/BlockDispenser.java b/src/main/java/net/minecraft/server/BlockDispenser.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/server/BlockDispenser.java
++++ b/src/main/java/net/minecraft/server/BlockDispenser.java
+@@ -0,0 +0,0 @@ public class BlockDispenser extends BlockTileEntity {
+         return 4;
+     }
+ 
++    // Paper start - Removed override of onPlace that was reversing placement direction when
++    // adjacent to another block, which was not consistent with single player block placement
++    /*
+     public void onPlace(World world, BlockPosition blockposition, IBlockData iblockdata) {
+         super.onPlace(world, blockposition, iblockdata);
+         this.e(world, blockposition, iblockdata);
+@@ -0,0 +0,0 @@ public class BlockDispenser extends BlockTileEntity {
+             world.setTypeAndData(blockposition, iblockdata.set(BlockDispenser.FACING, enumdirection).set(BlockDispenser.TRIGGERED, Boolean.valueOf(false)), 2);
+         }
+     }
++    */
++    // Paper end
+ 
+     public boolean interact(World world, BlockPosition blockposition, IBlockData iblockdata, EntityHuman entityhuman, EnumHand enumhand, ItemStack itemstack, EnumDirection enumdirection, float f, float f1, float f2) {
+         if (world.isClientSide) {
+diff --git a/src/main/java/net/minecraft/server/BlockFurnace.java b/src/main/java/net/minecraft/server/BlockFurnace.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/server/BlockFurnace.java
++++ b/src/main/java/net/minecraft/server/BlockFurnace.java
+@@ -0,0 +0,0 @@ public class BlockFurnace extends BlockTileEntity {
+         return Item.getItemOf(Blocks.FURNACE);
+     }
+ 
++    // Paper start - Removed override of onPlace that was reversing placement direction when
++    // adjacent to another block, which was not consistent with single player block placement
++    /*
+     public void onPlace(World world, BlockPosition blockposition, IBlockData iblockdata) {
+         this.e(world, blockposition, iblockdata);
+     }
+@@ -0,0 +0,0 @@ public class BlockFurnace extends BlockTileEntity {
+             world.setTypeAndData(blockposition, iblockdata.set(BlockFurnace.FACING, enumdirection), 2);
+         }
+     }
++    */
++    // Paper end
+ 
+     public boolean interact(World world, BlockPosition blockposition, IBlockData iblockdata, EntityHuman entityhuman, EnumHand enumhand, ItemStack itemstack, EnumDirection enumdirection, float f, float f1, float f2) {
+         if (world.isClientSide) {
+--
\ No newline at end of file
diff --git a/scripts/importmcdev.sh b/scripts/importmcdev.sh
index 8637a13775..102f1cf78f 100755
--- a/scripts/importmcdev.sh
+++ b/scripts/importmcdev.sh
@@ -39,6 +39,7 @@ import BiomeMesa
 import BlockChest
 import BlockFalling
 import BlockFluids
+import BlockFurnace
 import BlockPosition
 import BlockStateList
 import ChunkProviderFlat