Index: src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 5309)
+++ src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(working copy)
@@ -1172,6 +1172,18 @@
         return rv;
     }
 
+    public Collection<OsmPrimitive> getSelected() {
+        DataSet ds = getCurrentDataSet();
+        if (ds == null) return null;
+        if (currentBaseNode != null && !ds.getSelected().isEmpty()) {
+            Way continueFrom = getWayForNode(currentBaseNode);
+            if (alt && continueFrom != null) {
+                return Collections.<OsmPrimitive>singleton(continueFrom);
+            }
+        }
+        return ds.getSelected();
+    }
+
     @Override
     public boolean layerIsSupported(Layer l) {
         return l instanceof OsmDataLayer;
Index: src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java
===================================================================
--- src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(revision 5309)
+++ src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java	(working copy)
@@ -73,6 +73,7 @@
 
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
+import org.openstreetmap.josm.actions.mapmode.DrawAction;
 import org.openstreetmap.josm.actions.search.SearchAction.SearchMode;
 import org.openstreetmap.josm.actions.search.SearchAction.SearchSetting;
 import org.openstreetmap.josm.command.ChangeCommand;
@@ -461,9 +462,14 @@
      * to the dataset, of course).
      */
     void add() {
-        DataSet ds = Main.main.getCurrentDataSet();
-        if (ds == null) return;
-        Collection<OsmPrimitive> sel = ds.getSelected();
+        Collection<OsmPrimitive> sel;
+        if (Main.map.mapMode instanceof DrawAction) {
+            sel = ((DrawAction) Main.map.mapMode).getSelected();
+        } else {
+            DataSet ds = Main.main.getCurrentDataSet();
+            if (ds == null) return;
+            sel = ds.getSelected();
+        }
         if (sel.isEmpty()) return;
 
         JPanel p = new JPanel(new BorderLayout());
