--- a/net/minecraft/world/entity/item/ItemEntity.java
+++ b/net/minecraft/world/entity/item/ItemEntity.java
@@ -521,13 +_,21 @@
         return false;
     }
 
+    // Folia start - region threading
+    @Override
+    public void postChangeDimension() {
+        super.postChangeDimension();
+        if (!this.level().isClientSide) {
+            this.mergeWithNeighbours();
+        }
+    }
+    // Folia end - region threading
+
     @Nullable
     @Override
     public Entity teleport(TeleportTransition teleportTransition) {
         Entity entity = super.teleport(teleportTransition);
-        if (!this.level().isClientSide && entity instanceof ItemEntity itemEntity) {
-            itemEntity.mergeWithNeighbours();
-        }
+        if (entity != null) entity.postChangeDimension(); // Folia - region threading - move to post change
 
         return entity;
     }
