Index: /applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java
===================================================================
--- /applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java	(revision 35406)
+++ /applications/editors/josm/plugins/reverter/src/reverter/DataSetCommandMerger.java	(revision 35407)
@@ -53,7 +53,7 @@
 
     private void addChangeCommandIfNotEquals(OsmPrimitive target, OsmPrimitive newTarget, boolean nominal) {
-		if (!target.hasEqualSemanticAttributes(newTarget) || target.isDeleted() != newTarget.isDeleted()
-				|| target.isVisible() != newTarget.isVisible()
-				|| !getNonDiscardableTags(target).equals(getNonDiscardableTags(newTarget))) {
+        if (target.isIncomplete() != newTarget.isIncomplete() || target.isDeleted() != newTarget.isDeleted()
+                || target.isVisible() != newTarget.isVisible()
+                || !getNonDiscardableTags(target).equals(getNonDiscardableTags(newTarget))) {
             cmds.add(new ChangeCommand(target, newTarget));
             if (nominal) {
Index: /applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetCommand.java
===================================================================
--- /applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetCommand.java	(revision 35406)
+++ /applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetCommand.java	(revision 35407)
@@ -19,10 +19,9 @@
      * Create the command by specifying the list of commands to execute.
      * @param name The description text
-     * @param sequenz The sequence that was already executed.
+     * @param sequenz The sequence that should be executed.
      */
     public RevertChangesetCommand(String name, Collection<Command> sequenz) {
         super(name, sequenz);
         ReverterPlugin.reverterUsed = true;
-        setSequenceComplete(true);
     }
 
@@ -37,13 +36,3 @@
     }
 
-    @Override
-    public void undoCommand() {
-        getAffectedDataSet().update(super::undoCommand);
-    }
-
-    @Override
-    public boolean executeCommand() {
-        return getAffectedDataSet().update(super::executeCommand);
-    }
-
 }
Index: /applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java
===================================================================
--- /applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java	(revision 35406)
+++ /applications/editors/josm/plugins/reverter/src/reverter/RevertChangesetTask.java	(revision 35407)
@@ -15,4 +15,5 @@
 
 import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.command.conflict.ConflictAddCommand;
 import org.openstreetmap.josm.data.UndoRedoHandler;
@@ -98,13 +99,7 @@
                 newLayer = false; // reuse layer for subsequent reverts
             } catch (OsmTransferException e) {
-				if (!allcmds.isEmpty()) {
-					GuiHelper.runInEDT(() -> UndoRedoHandler.getInstance().undo(allcmds.size()));
-				}
-				Logging.error(e);
+                Logging.error(e);
                 throw e;
             } catch (UserCancelException e) {
-				if (!allcmds.isEmpty()) {
-					GuiHelper.runInEDT(() -> UndoRedoHandler.getInstance().undo(allcmds.size()));
-				}
                 Logging.warn("Revert canceled");
                 Logging.trace(e);
@@ -113,7 +108,7 @@
         }
         if (!allcmds.isEmpty()) {
-            Command cmd = allcmds.size() == 1 ? allcmds.get(0) : new RevertChangesetCommand(tr("Revert changesets"), allcmds);
+            Command cmd = allcmds.size() == 1 ? allcmds.get(0) : new SequenceCommand(tr("Revert changesets"), allcmds);
             GuiHelper.runInEDT(() -> {
-                UndoRedoHandler.getInstance().add(cmd, false);
+                UndoRedoHandler.getInstance().add(cmd);
                 if (numberOfConflicts > 0) {
                     MainApplication.getMap().conflictDialog.warnNumNewConflicts(numberOfConflicts);
@@ -174,5 +169,4 @@
                 numberOfConflicts++;
             }
-            c.executeCommand();
         }
         final String desc;
