Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 13228)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 13229)
@@ -1313,5 +1313,14 @@
     public Collection<? extends OsmPrimitive> getPreservedPrimitives() {
         DataSet ds = getLayerManager().getEditDataSet();
-        return ds != null ? ds.getSelected() : Collections.emptySet();
+        if (ds != null) {
+            // Preserves selected primitives and selected way nodes
+            Set<OsmPrimitive> result = new HashSet<>();
+            for (Way w : ds.getSelectedWays()) {
+                result.addAll(w.getNodes());
+            }
+            result.addAll(ds.getSelected());
+            return result;
+        }
+        return Collections.emptySet();
     }
 
