Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 5103)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 5104)
@@ -141,20 +141,23 @@
         // repaint required if the helper line is active.
         boolean needsRepaint = drawHelperLine && !wayIsFinished;
-        // move newHighlights to oldHighlights; only update changed primitives
-        for(OsmPrimitive x : newHighlights) {
-            if(oldHighlights.contains(x)) {
-                continue;
-            }
-            needsRepaint = true;
-            x.setHighlighted(true);
-        }
-        oldHighlights.removeAll(newHighlights);
-        for(OsmPrimitive x : oldHighlights) {
-            x.setHighlighted(false);
-            needsRepaint = true;
-        }
+        if(drawTargetHighlight) {
+            // move newHighlights to oldHighlights; only update changed primitives
+            for(OsmPrimitive x : newHighlights) {
+                if(oldHighlights.contains(x)) {
+                    continue;
+                }
+                x.setHighlighted(true);
+                needsRepaint = true;
+            }
+            oldHighlights.removeAll(newHighlights);
+            for(OsmPrimitive x : oldHighlights) {
+                x.setHighlighted(false);
+                needsRepaint = true;
+            }
+        }
+        // required in order to print correct help text
         oldHighlights = newHighlights;
 
-        if ((!drawHelperLine || wayIsFinished) && !drawTargetHighlight)
+        if (!needsRepaint && !drawTargetHighlight)
             return false;
 
