Index: trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java	(revision 17219)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/tags/RelationMemberConflictResolverModel.java	(revision 17220)
@@ -20,5 +20,5 @@
 import javax.swing.table.DefaultTableModel;
 
-import org.openstreetmap.josm.command.ChangeCommand;
+import org.openstreetmap.josm.command.ChangeMembersCommand;
 import org.openstreetmap.josm.command.Command;
 import org.openstreetmap.josm.data.osm.Node;
@@ -364,6 +364,5 @@
 
     protected Command buildResolveCommand(Relation relation, OsmPrimitive newPrimitive) {
-        final Relation modifiedRelation = new Relation(relation);
-        modifiedRelation.setMembers(null);
+        List<RelationMember> modifiedMemberList = new ArrayList<>();
         boolean isChanged = false;
         for (int i = 0; i < relation.getMembersCount(); i++) {
@@ -371,10 +370,10 @@
             RelationMemberConflictDecision decision = getDecision(relation, i);
             if (decision == null) {
-                modifiedRelation.addMember(member);
+                modifiedMemberList.add(member);
             } else {
                 switch(decision.getDecision()) {
                 case KEEP:
                     final RelationMember newMember = new RelationMember(decision.getRole(), newPrimitive);
-                    modifiedRelation.addMember(newMember);
+                    modifiedMemberList.add(newMember);
                     isChanged |= !member.equals(newMember);
                     break;
@@ -389,8 +388,5 @@
             }
         }
-        if (isChanged)
-            return new ChangeCommand(relation, modifiedRelation);
-        modifiedRelation.setMembers(null); // see #19885
-        return null;
+        return isChanged ? new ChangeMembersCommand(relation, modifiedMemberList) : null;
     }
 
