Index: trunk/src/org/openstreetmap/josm/data/preferences/NamedColorProperty.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/preferences/NamedColorProperty.java	(revision 17118)
+++ trunk/src/org/openstreetmap/josm/data/preferences/NamedColorProperty.java	(revision 17119)
@@ -5,4 +5,6 @@
 import java.util.Arrays;
 import java.util.List;
+
+import javax.swing.UIManager;
 
 import org.openstreetmap.josm.tools.CheckParameterUtil;
@@ -30,4 +32,6 @@
     /**
      * Construct a new {@code NamedColorProperty}.
+     *
+     * The priority for getting the color is: 1. a set property, 2. {@link UIManager#getColor}, 3. the given {@code defaultValue}
      * @param category a category, can be any identifier, but the following values are recognized by
      * the GUI preferences: {@link #COLOR_CATEGORY_GENERAL} and {@link #COLOR_CATEGORY_MAPPAINT}
Index: trunk/test/unit/org/openstreetmap/josm/data/preferences/NamedColorPropertyTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/data/preferences/NamedColorPropertyTest.java	(revision 17118)
+++ trunk/test/unit/org/openstreetmap/josm/data/preferences/NamedColorPropertyTest.java	(revision 17119)
@@ -7,4 +7,7 @@
 import java.awt.Color;
 import java.util.Arrays;
+import java.util.Collections;
+
+import javax.swing.UIManager;
 
 import org.junit.Before;
@@ -43,4 +46,16 @@
     @Test
     public void testGet() {
+        assertEquals(Color.RED, base.get());
+
+        UIManager.put("JOSM.clr.general.test", Color.GRAY);
+        base = new NamedColorProperty("test", Color.RED);
+        assertEquals(Color.GRAY, base.get());
+
+        Config.getPref().putList("clr.general.test", Collections.singletonList("#123456"));
+        assertEquals(new Color(0x123456), base.get());
+
+        Config.getPref().putList("clr.general.test", null);
+        UIManager.put("JOSM.clr.general.test", null);
+        base = new NamedColorProperty("test", Color.RED);
         assertEquals(Color.RED, base.get());
     }
