Index: trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/FunctionsTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/FunctionsTest.java	(revision 16589)
+++ trunk/test/unit/org/openstreetmap/josm/gui/mappaint/mapcss/FunctionsTest.java	(revision 16590)
@@ -6,4 +6,6 @@
 import static org.openstreetmap.josm.data.osm.OsmPrimitiveType.NODE;
 
+import java.util.Collections;
+
 import org.junit.Rule;
 import org.junit.Test;
@@ -12,4 +14,5 @@
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
 import org.openstreetmap.josm.data.osm.User;
+import org.openstreetmap.josm.data.preferences.NamedColorProperty;
 import org.openstreetmap.josm.gui.mappaint.Environment;
 import org.openstreetmap.josm.gui.util.GuiHelper;
@@ -113,4 +116,5 @@
     public void testPref() {
         String key = "Functions.JOSM_pref";
+        Config.getPref().put(key, null);
         assertEquals("foobar", Functions.JOSM_pref(null, key, "foobar"));
         Config.getPref().put(key, "baz");
@@ -124,4 +128,28 @@
         });
         assertEquals("foobar", Functions.JOSM_pref(null, key, "foobar"));
+        Config.getPref().put(key, null);
     }
+
+    /**
+     * Unit test of {@link Functions#JOSM_pref}, color handling
+     */
+    @Test
+    public void testPrefColor() {
+        String key = "Functions.JOSM_pref";
+        String colorKey = NamedColorProperty.NAMED_COLOR_PREFIX + NamedColorProperty.COLOR_CATEGORY_MAPPAINT + ".unknown." + key;
+        Config.getPref().put(colorKey, null);
+        assertEquals("#000000", Functions.JOSM_pref(null, key, "#000000"));
+        Config.getPref().putList(colorKey, Collections.singletonList("#00FF00"));
+        GuiHelper.runInEDTAndWait(() -> {
+            // await org.openstreetmap.josm.gui.mappaint.ElemStyles.clearCached
+        });
+        assertEquals("#00FF00", Functions.JOSM_pref(null, key, "#000000"));
+        Config.getPref().put(colorKey, null);
+        GuiHelper.runInEDTAndWait(() -> {
+            // await org.openstreetmap.josm.gui.mappaint.ElemStyles.clearCached
+        });
+        assertEquals("#000000", Functions.JOSM_pref(null, key, "#000000"));
+        Config.getPref().put(colorKey, null);
+    }
+
 }
