--- a/net/minecraft/world/item/SignItem.java
+++ b/net/minecraft/world/item/SignItem.java
@@ -11,7 +_,7 @@
 import net.minecraft.world.level.block.state.BlockState;
 
 public class SignItem extends StandingAndWallBlockItem {
-    public static BlockPos openSign; // CraftBukkit
+    public static final ThreadLocal<BlockPos> openSign = new ThreadLocal<>(); // CraftBukkit // Folia - region threading
     public SignItem(Block standingBlock, Block wallBlock, Item.Properties properties) {
         super(standingBlock, wallBlock, Direction.DOWN, properties);
     }
@@ -30,7 +_,7 @@
             && level.getBlockState(pos).getBlock() instanceof SignBlock signBlock) {
             // CraftBukkit start - SPIGOT-4678
             // signBlock.openTextEdit(player, signBlockEntity, true);
-            SignItem.openSign = pos;
+            SignItem.openSign.set(pos); // Folia - region threading
             // CraftBukkit end
         }
 
