Index: trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 5264)
+++ trunk/src/org/openstreetmap/josm/actions/MergeNodesAction.java	(revision 5265)
@@ -240,11 +240,26 @@
     }
 
-    public static Command mergeNodes(OsmDataLayer layer, Collection<Node> nodes, Node targetNode) {
+    public static void doMergeNodes(OsmDataLayer layer, Collection<Node> nodes, Node targetLocationNode) {
+        if (nodes == null) {
+            return;
+        }
+        Set<Node> allNodes = new HashSet<Node>(nodes);
+        allNodes.add(targetLocationNode);
+        Node target = selectTargetNode(allNodes);
+
+        Command cmd = mergeNodes(layer, nodes, target, targetLocationNode);
+        if (cmd != null) {
+            Main.main.undoRedo.add(cmd);
+            getCurrentDataSet().setSelected(target);
+        }
+    }
+
+    public static Command mergeNodes(OsmDataLayer layer, Collection<Node> nodes, Node targetLocationNode) {
         if (nodes == null) {
             return null;
         }
         Set<Node> allNodes = new HashSet<Node>(nodes);
-        allNodes.add(targetNode);
-        return mergeNodes(layer, nodes, selectTargetNode(allNodes), targetNode);
+        allNodes.add(targetLocationNode);
+        return mergeNodes(layer, nodes, selectTargetNode(allNodes), targetLocationNode);
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 5264)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 5265)
@@ -909,9 +909,5 @@
         Collection<Node> nodesToMerge = new LinkedList<Node>(selNodes);
         nodesToMerge.add(target);
-        Command cmd = MergeNodesAction.mergeNodes(Main.main.getEditLayer(), nodesToMerge, target);
-        if (cmd != null) {
-            Main.main.undoRedo.add(cmd);
-            getCurrentDataSet().setSelected(target);
-        }
+        MergeNodesAction.doMergeNodes(Main.main.getEditLayer(), nodesToMerge, target);
     }
 
