Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java	(revision 16044)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java	(revision 16045)
@@ -109,5 +109,5 @@
                     if (item instanceof ComboMultiSelect) {
                         final ComboMultiSelect cms = (ComboMultiSelect) item;
-                        if (Boolean.parseBoolean(cms.values_searchable)) {
+                        if (cms.values_searchable) {
                             tagSet.addAll(cms.getDisplayValues());
                         }
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java	(revision 16044)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java	(revision 16045)
@@ -74,5 +74,5 @@
         } else if (def != null && usage.unused()) {
             // default is set and all items were unset
-            if (!usage.hadKeys() || PROP_FILL_DEFAULT.get() || "force".equals(use_last_as_default)) {
+            if (!usage.hadKeys() || PROP_FILL_DEFAULT.get() || isForceUseLastAsDefault()) {
                 // selected osm primitives are untagged or filling default feature is enabled
                 combobox.setSelectedItem(lhm.get(def).getDisplayValue(true));
@@ -85,5 +85,5 @@
             // all items were unset (and so is default)
             originalValue = lhm.get("");
-            if (!presetInitiallyMatches && "force".equals(use_last_as_default) && LAST_VALUES.containsKey(key)) {
+            if (!presetInitiallyMatches && isForceUseLastAsDefault() && LAST_VALUES.containsKey(key)) {
                 combobox.setSelectedItem(lhm.get(LAST_VALUES.get(key)));
             } else {
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java	(revision 16044)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/ComboMultiSelect.java	(revision 16045)
@@ -91,8 +91,8 @@
      */
     public char delimiter = ';'; // NOSONAR
-    /** whether the last value is used as default. Using "force" enforces this behaviour also for already tagged objects. Default is "false".*/
-    public String use_last_as_default = "false"; // NOSONAR
+    /** whether the last value is used as default. Using "force" (2) enforces this behaviour also for already tagged objects. Default is "false" (0).*/
+    public byte use_last_as_default = 0; // NOSONAR
     /** whether to use values for search via {@link TaggingPresetSelector} */
-    public String values_searchable = "false"; // NOSONAR
+    public boolean values_searchable = false; // NOSONAR
 
     protected JComponent component;
@@ -530,8 +530,26 @@
             return;
 
-        if (!"false".equals(use_last_as_default)) {
+        if (isUseLastAsDefault()) {
             LAST_VALUES.put(key, value);
         }
         changedTags.add(new Tag(key, value));
+    }
+
+    public void setUse_last_as_default(String v) {
+        if ("force".equals(v)) {
+            use_last_as_default = 2;
+        } else if ("true".equals(v)) {
+            use_last_as_default = 1;
+        } else {
+            use_last_as_default = 0;
+        }
+    }
+
+    protected boolean isUseLastAsDefault() {
+        return use_last_as_default > 0;
+    }
+
+    protected boolean isForceUseLastAsDefault() {
+        return use_last_as_default == 2;
     }
 
Index: /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java	(revision 16044)
+++ /trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/MultiSelect.java	(revision 16045)
@@ -34,5 +34,5 @@
             originalValue = usage.getFirst();
             list.setSelectedItem(originalValue);
-        } else if ((def != null && !usage.hadKeys()) || PROP_FILL_DEFAULT.get() || "force".equals(use_last_as_default)) {
+        } else if ((def != null && !usage.hadKeys()) || PROP_FILL_DEFAULT.get() || isForceUseLastAsDefault()) {
             originalValue = DIFFERENT;
             list.setSelectedItem(def);
