Index: trunk/src/org/openstreetmap/josm/command/ModifiedConflictResolveCommand.java
===================================================================
--- trunk/src/org/openstreetmap/josm/command/ModifiedConflictResolveCommand.java	(revision 2624)
+++ trunk/src/org/openstreetmap/josm/command/ModifiedConflictResolveCommand.java	(revision 2624)
@@ -0,0 +1,70 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.command;
+
+import static org.openstreetmap.josm.tools.I18n.marktr;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.util.Collection;
+
+import javax.swing.JLabel;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.MutableTreeNode;
+
+import org.openstreetmap.josm.data.conflict.Conflict;
+import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
+import org.openstreetmap.josm.tools.ImageProvider;
+
+/**
+ * Represents a command for to set the modified flag {@see OsmPrimitive}
+ *
+ *
+ */
+public class ModifiedConflictResolveCommand extends ConflictResolveCommand {
+
+    /** the conflict to resolve */
+    private Conflict<OsmPrimitive> conflict;
+
+    /**
+     * constructor
+     * @param my  my primitive (i.e. the primitive from the local dataset)
+     * @param their their primitive (i.e. the primitive from the server)
+     */
+    public ModifiedConflictResolveCommand(OsmPrimitive my, OsmPrimitive their) {
+        conflict = new Conflict<OsmPrimitive>(my, their);
+    }
+
+    @Override
+    public MutableTreeNode description() {
+        String msg = "";
+        switch(OsmPrimitiveType.from(conflict.getMy())) {
+        case NODE: msg = marktr("Set the 'modified' flag for node {0}"); break;
+        case WAY: msg = marktr("Set the 'modified' flag for way {0}"); break;
+        case RELATION: msg = marktr("Set the 'modified' flag for relation {0}"); break;
+        }
+        return new DefaultMutableTreeNode(
+                new JLabel(
+                        tr(msg,conflict.getMy().getId()),
+                        ImageProvider.get("data", "object"),
+                        JLabel.HORIZONTAL
+                )
+        );
+    }
+
+    @Override
+    public boolean executeCommand() {
+        super.executeCommand();
+        if (!conflict.getMy().isNew() && conflict.getMy().hasEqualSemanticAttributes(conflict.getTheir())) {
+            conflict.getMy().setModified(conflict.getTheir().isModified());
+        }
+        getLayer().getConflicts().remove(conflict);
+        rememberConflict(conflict);
+        return true;
+    }
+
+    @Override
+    public void fillModifiedData(Collection<OsmPrimitive> modified, Collection<OsmPrimitive> deleted,
+            Collection<OsmPrimitive> added) {
+        modified.add(conflict.getMy());
+    }
+}
Index: trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java	(revision 2623)
+++ trunk/src/org/openstreetmap/josm/gui/conflict/pair/ConflictResolver.java	(revision 2624)
@@ -15,4 +15,5 @@
 
 import org.openstreetmap.josm.command.Command;
+import org.openstreetmap.josm.command.ModifiedConflictResolveCommand;
 import org.openstreetmap.josm.command.SequenceCommand;
 import org.openstreetmap.josm.command.VersionConflictResolveCommand;
@@ -271,7 +272,6 @@
             }
             if (isResolvedCompletely()) {
-                commands.add(
-                        new VersionConflictResolveCommand(my, their)
-                );
+                commands.add(new VersionConflictResolveCommand(my, their));
+                commands.add(new ModifiedConflictResolveCommand(my, their));
             }
         }
