--- a/net/minecraft/server/ItemSign.java
+++ b/net/minecraft/server/ItemSign.java
@@ -4,6 +4,8 @@
 
 public class ItemSign extends ItemBlockWallable {
 
+    public static BlockPosition openSign; // CraftBukkit
+
     public ItemSign(Item.Info item_info, Block block, Block block1) {
         super(block, block1, item_info);
     }
@@ -13,7 +15,10 @@
         boolean flag = super.a(blockposition, world, entityhuman, itemstack, iblockdata);
 
         if (!world.isClientSide && !flag && entityhuman != null) {
-            entityhuman.openSign((TileEntitySign) world.getTileEntity(blockposition));
+            // CraftBukkit start - SPIGOT-4678
+            // entityhuman.openSign((TileEntitySign) world.getTileEntity(blockposition));
+            ItemSign.openSign = blockposition;
+            // CraftBukkit end
         }
 
         return flag;