Index: trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 12102)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 12103)
@@ -293,12 +293,4 @@
         Main.map.keyDetector.removeKeyListener(this);
         Main.map.keyDetector.removeModifierListener(this);
-
-        // when exiting we let everybody know about the currently selected
-        // primitives
-        //
-        DataSet ds = getLayerManager().getEditDataSet();
-        if (ds != null) {
-            ds.fireSelectionChanged();
-        }
     }
 
@@ -359,7 +351,4 @@
      */
     private void finishDrawing() {
-        // let everybody else know about the current selection
-        //
-        Main.getLayerManager().getEditDataSet().fireSelectionChanged();
         lastUsedNode = null;
         wayIsFinished = true;
Index: trunk/src/org/openstreetmap/josm/gui/MapView.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 12102)
+++ trunk/src/org/openstreetmap/josm/gui/MapView.java	(revision 12103)
@@ -696,4 +696,5 @@
                 invalidatedListener.addTo(mvp);
             }
+            repaint();
             return added;
         }
@@ -711,4 +712,5 @@
                 invalidatedListener.removeFrom(mvp);
             }
+            repaint();
             return removed;
         }
