Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java	(revision 17339)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java	(revision 17340)
@@ -135,5 +135,4 @@
      */
     public ConflictResolver() {
-        resolvedCompletely = false;
         build();
         loadIcons();
@@ -240,4 +239,5 @@
         setTheir(conflict.getTheir());
         this.conflict = conflict;
+        this.resolvedCompletely = false;
         propertiesMerger.populate(conflict);
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java	(revision 17339)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java	(revision 17340)
@@ -57,5 +57,5 @@
         if (!isFrozen())
             throw new IllegalArgumentException(tr("Merged nodes not frozen yet. Cannot build resolution command."));
-        return new WayNodesConflictResolverCommand(conflict, getMergedEntries());
+        return new WayNodesConflictResolverCommand(conflict, new ArrayList<>(getMergedEntries()));
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java	(revision 17339)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java	(revision 17340)
@@ -464,5 +464,5 @@
     @Override
     public void decideRemaining(MergeDecisionType decision) {
-        if (!model.isDecidedCoord()) {
+        if (!model.isDecidedDeletedState()) {
             model.decideDeletedStateConflict(decision);
         }
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java	(revision 17339)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java	(revision 17340)
@@ -4,4 +4,5 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.util.ArrayList;
 import java.util.Map;
 
@@ -102,5 +103,5 @@
         if (!isFrozen())
             throw new IllegalArgumentException(tr("Merged members not frozen yet. Cannot build resolution command"));
-        return new RelationMemberConflictResolverCommand(conflict, getMergedEntries());
+        return new RelationMemberConflictResolverCommand(conflict, new ArrayList<>(getMergedEntries()));
     }
 }
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java	(revision 17339)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java	(revision 17340)
@@ -185,5 +185,5 @@
 
     public TagConflictResolveCommand buildResolveCommand(Conflict<? extends OsmPrimitive> conflict) {
-        return new TagConflictResolveCommand(conflict, tagMergeItems);
+        return new TagConflictResolveCommand(conflict, new ArrayList<>(tagMergeItems));
     }
 
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 17339)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 17340)
@@ -518,20 +518,10 @@
                         resolver.populate(c);
                         resolver.decideRemaining(type);
-                        Command cmd = resolver.buildResolveCommand();
-                        cmd.executeCommand(); // execute now, see #6529
-                        commands.add(cmd);
+                        commands.add(resolver.buildResolveCommand());
                     }
                 }
             }
-            UndoRedoHandler.getInstance().add(new ResolveConflictsCommand(name, commands), false);
+            UndoRedoHandler.getInstance().add(new SequenceCommand(name, commands));
             refreshView();
-        }
-    }
-
-    private static class ResolveConflictsCommand extends SequenceCommand {
-        // just  a wrapper for already executed commands
-        ResolveConflictsCommand(String name, Collection<Command> sequenz) {
-            super(name, sequenz, true);
-            setSequenceComplete(true);
         }
     }
