Index: /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java	(revision 3906)
+++ /trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java	(revision 3907)
@@ -817,8 +817,8 @@
      * parents way
      */
-    public void drawOrderNumber(Node n1, Node n2, int orderNumber) {
+    public void drawOrderNumber(Node n1, Node n2, int orderNumber, Color clr) {
         Point p1 = nc.getPoint(n1);
         Point p2 = nc.getPoint(n2);
-        drawOrderNumber(p1, p2, orderNumber);
+        drawOrderNumber(p1, p2, orderNumber, clr);
     }
 
@@ -827,5 +827,5 @@
      * parents way
      */
-    protected void drawOrderNumber(Point p1, Point p2, int orderNumber) {
+    protected void drawOrderNumber(Point p1, Point p2, int orderNumber, Color clr) {
         if (isSegmentVisible(p1, p2) && isLargeSegment(p1, p2, segmentNumberSpace)) {
             String on = Integer.toString(orderNumber);
@@ -839,8 +839,7 @@
             }
 
-            Color c = g.getColor();
             g.setColor(backgroundColor);
             g.fillRect(x-1, y-12, 8*strlen+1, 14);
-            g.setColor(c);
+            g.setColor(clr);
             g.drawString(on, x, y);
         }
Index: /trunk/src/org/openstreetmap/josm/gui/mappaint/LineElemStyle.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/mappaint/LineElemStyle.java	(revision 3906)
+++ /trunk/src/org/openstreetmap/josm/gui/mappaint/LineElemStyle.java	(revision 3907)
@@ -238,5 +238,5 @@
                 if(lastN != null) {
                     orderNumber++;
-                    painter.drawOrderNumber(lastN, n, orderNumber);
+                    painter.drawOrderNumber(lastN, n, orderNumber, myColor);
                 }
                 lastN = n;
