Index: src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java
===================================================================
--- src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java	(revision 17274)
+++ src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java	(working copy)
@@ -134,7 +134,6 @@
      * constructor
      */
     public ConflictResolver() {
-        resolvedCompletely = false;
         build();
         loadIcons();
     }
@@ -239,6 +238,7 @@
         setMy(conflict.getMy());
         setTheir(conflict.getTheir());
         this.conflict = conflict;
+        this.resolvedCompletely = false;
         propertiesMerger.populate(conflict);
 
         tabbedPane.setEnabledAt(0, true);
Index: src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java
===================================================================
--- src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java	(revision 17274)
+++ src/org/openstreetmap/josm/gui/conflict/pair/nodes/NodeListMergeModel.java	(working copy)
@@ -56,7 +56,7 @@
     public WayNodesConflictResolverCommand buildResolveCommand(Conflict<? extends OsmPrimitive> conflict) {
         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()));
     }
 
     @Override
Index: src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java
===================================================================
--- src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java	(revision 17274)
+++ src/org/openstreetmap/josm/gui/conflict/pair/properties/PropertiesMerger.java	(working copy)
@@ -463,7 +463,7 @@
 
     @Override
     public void decideRemaining(MergeDecisionType decision) {
-        if (!model.isDecidedCoord()) {
+        if (!model.isDecidedDeletedState()) {
             model.decideDeletedStateConflict(decision);
         }
         if (!model.isDecidedCoord()) {
Index: src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java
===================================================================
--- src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java	(revision 17274)
+++ src/org/openstreetmap/josm/gui/conflict/pair/relation/RelationMemberListMergeModel.java	(working copy)
@@ -3,6 +3,7 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.util.ArrayList;
 import java.util.Map;
 
 import javax.swing.table.DefaultTableModel;
@@ -101,6 +102,6 @@
         CheckParameterUtil.ensureParameterNotNull(conflict, "conflict");
         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: src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java
===================================================================
--- src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java	(revision 17274)
+++ src/org/openstreetmap/josm/gui/conflict/pair/tags/TagMergeModel.java	(working copy)
@@ -184,7 +184,7 @@
     }
 
     public TagConflictResolveCommand buildResolveCommand(Conflict<? extends OsmPrimitive> conflict) {
-        return new TagConflictResolveCommand(conflict, tagMergeItems);
+        return new TagConflictResolveCommand(conflict, new ArrayList<>(tagMergeItems));
     }
 
     public boolean isResolvedCompletely() {
Index: src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(revision 17274)
+++ src/org/openstreetmap/josm/gui/dialogs/ConflictDialog.java	(working copy)
@@ -517,25 +517,15 @@
                     if (c != null) {
                         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);
-        }
-    }
-
     class ResolveToMyVersionAction extends ResolveToAction {
         ResolveToMyVersionAction() {
             super(tr("Resolve to my versions"), tr("Resolves all unresolved conflicts to ''my'' version"),
