diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java b/worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java index 55a899bab..f0a079e67 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/LocalSession.java @@ -398,9 +398,20 @@ public class LocalSession implements TextureHolder { * Clear history. */ public void clearHistory() { - history.clear(); //FAWE start + historyWriteLock.lock(); + try { + // Ensure that changesets are properly removed + for (Object item : history) { + getChangeSet(item).delete(); + } + history.clear(); + } finally { + historyWriteLock.unlock(); + } + historyNegativeIndex = 0; + save(); historySize = 0; currentWorld = null; //FAWE end