Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 12063)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 12064)
@@ -238,7 +238,10 @@
     private static void addRemoveSelection(DataSet ds, OsmPrimitive toAdd, OsmPrimitive toRemove) {
         ds.beginUpdate(); // to prevent the selection listener to screw around with the state
-        ds.addSelected(toAdd);
-        ds.clearSelection(toRemove);
-        ds.endUpdate();
+        try {
+            ds.addSelected(toAdd);
+            ds.clearSelection(toRemove);
+        } finally {
+            ds.endUpdate();
+        }
     }
 
