Index: trunk/src/org/openstreetmap/josm/data/preferences/CachedProperty.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/preferences/CachedProperty.java	(revision 5477)
+++ trunk/src/org/openstreetmap/josm/data/preferences/CachedProperty.java	(revision 5478)
@@ -12,6 +12,6 @@
     private int updateCount;
 
-    protected CachedProperty(String key, T defaultValue, String defaultValueAsString) {
-        super(key, defaultValue);
+    protected CachedProperty(String key, String defaultValueAsString) {
+        super(key, null);
         Main.pref.addPreferenceChangeListener(this);
         this.defaultValueAsString = defaultValueAsString;
@@ -50,4 +50,9 @@
         return updateCount;
     }
+    
+    @Override 
+    public T getDefaultValue() { 
+        return fromString(getDefaultValueAsString()); 
+    }
 
     public String getDefaultValueAsString() {
Index: trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 5477)
+++ trunk/src/org/openstreetmap/josm/gui/layer/markerlayer/Marker.java	(revision 5478)
@@ -49,5 +49,5 @@
  * will create AudioMarkers for .wav files, ImageMarkers for .png/.jpg/.jpeg
  * files, and WebMarkers for everything else. (The creation of a WebMarker will
- * fail if there's no vaild URL in the <link> tag, so it might still make sense
+ * fail if there's no valid URL in the <link> tag, so it might still make sense
  * to add Makers for such waypoints at the end of the list.)
  *
@@ -77,5 +77,5 @@
         // will make gui for it so I'm keeping it here
 
-        private final static Map<String, TemplateEntryProperty> cache = new HashMap<String, Marker.TemplateEntryProperty>();
+        private final static Map<String, TemplateEntryProperty> cache = new HashMap<String, TemplateEntryProperty>();
 
         // Legacy code - convert label from int to template engine expression
@@ -137,5 +137,5 @@
 
         private TemplateEntryProperty(String key, String defaultValue, TemplateEntryProperty parent) throws ParseError {
-            super(key, new TemplateParser(defaultValue).parse(), defaultValue);
+            super(key, defaultValue);
             this.parent = parent;
             updateValue(); // Needs to be called because parent wasn't know in super constructor
