Index: trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java	(revision 14380)
+++ trunk/src/org/openstreetmap/josm/data/UndoRedoHandler.java	(revision 14381)
@@ -5,4 +5,5 @@
 import java.util.Iterator;
 import java.util.LinkedList;
+import java.util.List;
 import java.util.Objects;
 
@@ -305,4 +306,18 @@
         if (cmd != null) {
             fireEvent(new CommandAddedEvent(this, cmd));
+        }
+        fireCommandsChanged();
+    }
+
+    /**
+     * Fires a commands change event after adding a list of commands.
+     * @param cmds commands added
+     * @since 14381
+     */
+    public void afterAdd(List<? extends Command> cmds) {
+        if (cmds != null) {
+            for (Command cmd : cmds) {
+                fireEvent(new CommandAddedEvent(this, cmd));
+            }
         }
         fireCommandsChanged();
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorDialog.java	(revision 14380)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ValidatorDialog.java	(revision 14381)
@@ -534,9 +534,8 @@
     /**
      * Task for fixing a collection of {@link TestError}s. Can be run asynchronously.
-     *
-     *
      */
     class FixTask extends PleaseWaitRunnable {
         private final Collection<TestError> testErrors;
+        private final List<Command> fixCommands = new ArrayList<>();
         private boolean canceled;
 
@@ -561,4 +560,5 @@
                 if (fixCommand != null) {
                     SwingUtilities.invokeAndWait(() -> UndoRedoHandler.getInstance().addNoRedraw(fixCommand));
+                    fixCommands.add(fixCommand);
                 }
                 // It is wanted to ignore an error if it said fixable, even if fixCommand was null
@@ -591,5 +591,5 @@
                 monitor.subTask(tr("Updating map ..."));
                 SwingUtilities.invokeAndWait(() -> {
-                    UndoRedoHandler.getInstance().afterAdd(null);
+                    UndoRedoHandler.getInstance().afterAdd(fixCommands);
                     invalidateValidatorLayers();
                     tree.resetErrors();
