Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 1117)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 1120)
@@ -229,5 +229,7 @@
             plugins.addAll(Arrays.asList(System.getProperty("josm.plugins").split(",")));
 
-        String [] oldplugins = new String[] {"mappaint", "unglueplugin", "lang-de","lang-en_GB","lang-fr","lang-it","lang-pl","lang-ro","lang-ru"};
+        String [] oldplugins = new String[] {"mappaint", "unglueplugin",
+        "lang-de", "lang-en_GB", "lang-fr", "lang-it", "lang-pl", "lang-ro",
+        "lang-ru", "ewmsplugin", "ywms"};
         for (String p : oldplugins) {
             if (plugins.contains(p)) {
@@ -240,5 +242,5 @@
         if (plugins.isEmpty())
             return;
-        
+
         SortedMap<Integer, Collection<PluginInformation>> p = new TreeMap<Integer, Collection<PluginInformation>>();
         for (String pluginName : plugins) {
Index: trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 1117)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 1120)
@@ -243,13 +243,5 @@
 
 		// the following could probably be done more elegantly?
-		Collection<String> enabledPlugins = null;
-		String enabledProp = Main.pref.get("plugins");
-		if ((enabledProp == null) || ("".equals(enabledProp))) {
-			enabledPlugins = Collections.emptySet();
-		}
-		else
-		{
-			enabledPlugins = Arrays.asList(enabledProp.split(","));
-		}
+		Collection<String> enabledPlugins = Main.pref.getCollection("plugins", null);
 		
 		for (final PluginDescription plugin : availablePlugins) {
@@ -384,24 +376,19 @@
 		}
 
-		String plugins = "";
+		String oldPlugins = Main.pref.get("plugins");
+	        LinkedList<String> plugins = new LinkedList<String>();
 		Object pd[] = pluginMap.keySet().toArray();
 		Arrays.sort(pd);
 		for (Object d : pd) {
 			if (pluginMap.get(d))
-				plugins += ((PluginDescription)d).name + ",";
-		}
-		if (plugins.endsWith(","))
-			plugins = plugins.substring(0, plugins.length()-1);
-		if (plugins.length() == 0)
-			plugins = null;
-
-		String oldPlugins = Main.pref.get("plugins");
+				plugins.add(((PluginDescription)d).name);
+		}
+
+		Main.pref.putCollection("plugins", plugins);
+		String newPlugins = Main.pref.get("plugins");
 		if(oldPlugins == null && plugins == null)
 			return;
 		if(plugins == null || oldPlugins == null || !plugins.equals(oldPlugins))
-		{
-			Main.pref.put("plugins", plugins);
 			gui.requiresRestart = true;
-		}
 	}
 }
