Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 6026)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 6027)
@@ -428,6 +428,13 @@
         Node n = null;
 
-        if (!ctrl) {
-            n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive.isSelectablePredicate);
+        n = Main.map.mapView.getNearestNode(mousePos, OsmPrimitive.isSelectablePredicate);
+        if (ctrl) {
+            Iterator<Way> it = getCurrentDataSet().getSelectedWays().iterator();
+            if (it.hasNext()) {
+                // ctrl-click on node of selected way = reuse node despite of ctrl
+                if (!it.next().containsNode(n)) n = null;
+            } else {
+                n=null; // ctrl-click + no selected way = new node
+            }
         }
 
