Index: trunk/src/org/openstreetmap/josm/data/osm/DataSetMerger.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/osm/DataSetMerger.java	(revision 3032)
+++ trunk/src/org/openstreetmap/josm/data/osm/DataSetMerger.java	(revision 3033)
@@ -3,4 +3,5 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
@@ -216,5 +217,5 @@
             throw new IllegalStateException(tr("Missing merge target for way with id {0}", source.getUniqueId()));
 
-        List<Node> newNodes = new LinkedList<Node>();
+        List<Node> newNodes = new ArrayList<Node>(source.getNodesCount());
         for (Node sourceNode : source.getNodes()) {
             Node targetNode = (Node)getMergeTarget(sourceNode);
@@ -222,4 +223,7 @@
                 if (targetNode.isVisible()) {
                     newNodes.add(targetNode);
+                    if (targetNode.isDeleted() && !conflicts.hasConflictForMy(targetNode)) {
+                        conflicts.add(targetNode, sourceNode);
+                    }
                 } else {
                     target.setModified(true);
@@ -250,4 +254,7 @@
                 RelationMember newMember = new RelationMember(sourceMember.getRole(), targetMember);
                 newMembers.add(newMember);
+                if (targetMember.isDeleted() && !conflicts.hasConflictForMy(targetMember)) {
+                    conflicts.add(targetMember, sourceMember.getMember());
+                }
             } else {
                 target.setModified(true);
@@ -309,4 +316,5 @@
             // otherwise too many conflicts when refreshing from the server
             // but, if source has a referrer that is not in the target dataset there is a conflict
+            // If target dataset refers to the deleted primitive, conflict will be added in fixReferences method
             for (OsmPrimitive referrer: source.getReferrers()) {
                 if (targetDataSet.getPrimitiveById(referrer.getPrimitiveId()) == null) {
