Index: src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 17090)
+++ src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(working copy)
@@ -331,6 +331,7 @@
             } // else -> invalid modifier combination
         } else if (mode == Mode.DRAGGING) {
             clearSourceWays();
+            MainApplication.getMap().statusLine.setDist(pWays.getWays());
         }
 
         setMode(Mode.NORMAL);
Index: src/org/openstreetmap/josm/gui/MapStatus.java
===================================================================
--- src/org/openstreetmap/josm/gui/MapStatus.java	(revision 17090)
+++ src/org/openstreetmap/josm/gui/MapStatus.java	(working copy)
@@ -59,6 +59,7 @@
 import javax.swing.event.PopupMenuEvent;
 import javax.swing.event.PopupMenuListener;
 
+import org.openstreetmap.josm.actions.mapmode.ParallelWayAction;
 import org.openstreetmap.josm.data.SystemOfMeasurement;
 import org.openstreetmap.josm.data.SystemOfMeasurement.SoMChangeListener;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -1185,6 +1186,12 @@
     }
 
     private void refreshDistText(Collection<? extends OsmPrimitive> newSelection) {
+        MapFrame map = MainApplication.getMap();
+        if (map != null && map.mapMode instanceof ParallelWayAction) {
+            // see #19887: Don't overwrite distance when parallel ways mode is active
+            return;
+        }
+
         if (newSelection.size() == 2) {
             Iterator<? extends OsmPrimitive> it = newSelection.iterator();
             OsmPrimitive n1 = it.next();
