Index: trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java	(revision 17107)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/MapMode.java	(revision 17108)
@@ -74,4 +74,5 @@
         readPreferences();
         MainApplication.getMap().mapView.setNewCursor(cursor, this);
+        MainApplication.getMap().statusLine.setAutoLength(true);
         updateStatusLine();
     }
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 17107)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 17108)
@@ -164,6 +164,8 @@
         setMode(Mode.NORMAL);
         pWays = null;
-
         super.enterMode();
+
+        // #19887: overwrite default: we want to show the distance to the original way
+        MainApplication.getMap().statusLine.setAutoLength(false);
 
         mv.addMouseListener(this);
@@ -187,5 +189,5 @@
         MapFrame map = MainApplication.getMap();
         map.statusLine.setDist(-1);
-        map.statusLine.repaint();
+        map.statusLine.setAutoLength(true);
         map.keyDetector.removeModifierExListener(this);
         removeWayHighlighting(sourceWays);
@@ -332,4 +334,5 @@
         } else if (mode == Mode.DRAGGING) {
             clearSourceWays();
+            MainApplication.getMap().statusLine.setDist(pWays.getWays());
         }
 
Index: trunk/src/org/openstreetmap/josm/gui/MapStatus.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 17107)
+++ trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 17108)
@@ -763,4 +763,7 @@
     };
 
+    /** see #19887: determine if the {@code distValue} field should be filled with length of selected object */
+    private boolean autoLength = true;
+
     private void registerListeners() {
         // Listen to keyboard/mouse events for pressing/releasing alt key and inform the collector.
@@ -1186,4 +1189,8 @@
 
     private void refreshDistText(Collection<? extends OsmPrimitive> newSelection) {
+        if (!autoLength) {
+            return;
+        }
+
         if (newSelection.size() == 2) {
             Iterator<? extends OsmPrimitive> it = newSelection.iterator();
@@ -1264,3 +1271,14 @@
         }
     }
+
+    /**
+     * Enable or disable the automatic refresh of the length field.
+     * @param b if {@code true} the automatic refresh is enabled, else disabled
+     * @since 17108
+     */
+    public void setAutoLength(boolean b) {
+        autoLength = b;
+    }
+
+
 }
