﻿Index: src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java
===================================================================
--- src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java	(revision 5345)
+++ src/org/openstreetmap/josm/data/osm/visitor/paint/MapPainter.java	(working copy)
@@ -562,9 +562,16 @@
         }
         g.drawImage(img, p.x-w/2, p.y-h/2, nc);
         g.setPaintMode();
-        if (selected || member)
-        {
-            g.setColor(selected? selectedColor : relationSelectedColor);
+        if (selected || member) {
+            Color color = null;
+            if (inactive || n.isDisabled()) {
+                color = inactiveColor;
+            } else if (selected) {
+                color = selectedColor;
+            } else {
+                color = relationSelectedColor;
+            }
+            g.setColor(color);
             g.drawRect(p.x-w/2-2, p.y-h/2-2, w+4, h+4);
         }
     }
@@ -810,7 +817,7 @@
 
         Shape area = path.createTransformedShape(nc.getAffineTransform());
 
-        if (!isOutlineOnly) {
+        if (!isOutlineOnly && !inactive) {
             if (fillImage == null) {
                 g.setColor(color);
                 g.fill(area);
@@ -860,8 +860,12 @@
 
             if ((pb.width >= nb.getWidth() && pb.height >= nb.getHeight()) && // quick check
                     area.contains(centeredNBounds) // slow but nice
-            ) {
-                g.setColor(text.color);
+                    ) {
+                if (inactive || osm.isDisabled()) {
+                    g.setColor(inactiveColor);
+                } else {
+                    g.setColor(text.color);
+                }
                 Font defaultFont = g.getFont();
                 g.setFont (text.font);
                 g.drawString (name,
@@ -909,7 +916,7 @@
         g.drawImage(smallImg, (int)(pVia.x+vx+vx2)-w/2, (int)(pVia.y+vy+vy2)-h/2, nc);
 
         if (selected) {
-            g.setColor(relationSelectedColor);
+            g.setColor(inactive ? inactiveColor : relationSelectedColor);
             g.drawRect((int)(pVia.x+vx+vx2)-w/2-2,(int)(pVia.y+vy+vy2)-h/2-2, w+4, h+4);
         }
     }
