diff --git a/worldedit-core-mc/src/main/java/com/sk89q/worldedit/coremc/internal/CoreMcWorldNativeAccess.java b/worldedit-core-mc/src/main/java/com/sk89q/worldedit/coremc/internal/CoreMcWorldNativeAccess.java index 63466108b1..3b56a7e0d3 100644 --- a/worldedit-core-mc/src/main/java/com/sk89q/worldedit/coremc/internal/CoreMcWorldNativeAccess.java +++ b/worldedit-core-mc/src/main/java/com/sk89q/worldedit/coremc/internal/CoreMcWorldNativeAccess.java @@ -166,7 +166,10 @@ public void updateBlock(BlockPos pos, BlockState oldState, BlockState newState) @Override public void updateNeighbors(BlockPos pos, BlockState oldState, BlockState newState, int recursionLimit) { ServerLevel world = getWorld(); - oldState.affectNeighborsAfterRemoval(world, pos, false); + boolean blockChanged = !oldState.is(newState.getBlock()); + if (blockChanged) { + oldState.affectNeighborsAfterRemoval(world, pos, false); + } oldState.updateIndirectNeighbourShapes(world, pos, Block.UPDATE_CLIENTS, recursionLimit); newState.updateNeighbourShapes(world, pos, Block.UPDATE_CLIENTS, recursionLimit); newState.updateIndirectNeighbourShapes(world, pos, Block.UPDATE_CLIENTS, recursionLimit);