Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 2309)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 2310)
@@ -15,4 +15,5 @@
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.LinkedList;
 import java.util.List;
@@ -44,5 +45,4 @@
 import org.openstreetmap.josm.gui.SelectionManager;
 import org.openstreetmap.josm.gui.SelectionManager.SelectionEnded;
-import org.openstreetmap.josm.gui.dialogs.LayerListDialog.MergeAction;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
@@ -487,13 +487,12 @@
                 }
                 if (ctrl) {
-                    Collection<Node> affectedNodes = AllNodesVisitor.getAllNodes(selection);
+                    Collection<Node> affectedNodes = OsmPrimitive.getFilteredSet(selection, Node.class);
                     Collection<Node> nn = Main.map.mapView.getNearestNodes(e.getPoint(), affectedNodes);
                     if (nn != null) {
-                        Node n = nn.iterator().next();
-                        Set<Node> selectedNodes = OsmPrimitive.getFilteredSet(selection, Node.class);
-                        if (!selectedNodes.isEmpty()) {
-                            selectedNodes.add(n);
-                            Node targetNode = MergeNodesAction.selectTargetNode(selectedNodes);
-                            Command cmd = MergeNodesAction.mergeNodes(Main.main.getEditLayer(),selectedNodes, targetNode);
+                        Node targetNode = nn.iterator().next();
+                        Set<Node> nodesToMerge = new HashSet<Node>(affectedNodes);
+                        nodesToMerge.add(targetNode);
+                        if (!nodesToMerge.isEmpty()) {
+                            Command cmd = MergeNodesAction.mergeNodes(Main.main.getEditLayer(),nodesToMerge, targetNode);
                             Main.main.undoRedo.add(cmd);
                         }
