Index: trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java	(revision 2490)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java	(revision 2491)
@@ -164,4 +164,5 @@
             coll = null;
             Main.proj = new Mercator();
+            name = Main.proj.getClass().getName();
         }
         if(!Main.proj.equals(oldProj) && b != null)
@@ -171,5 +172,7 @@
         }
         Main.pref.putCollection("projection.sub", coll);
-        if(coll != null && projHasPrefs(Main.proj))
+        String sname = name.substring(name.lastIndexOf(".")+1);
+        Main.pref.putCollection("projection.sub."+sname, coll);
+        if(projHasPrefs(Main.proj))
             ((ProjectionSubPrefs) Main.proj).setPreferences(coll);
     }
@@ -205,5 +208,9 @@
         for (int i = 0; i < projectionCombo.getItemCount(); ++i) {
             Projection proj = (Projection)projectionCombo.getItemAt(i);
-            if (proj.getClass().getName().equals(Main.pref.get("projection", Mercator.class.getName()))) {
+            String name = proj.getClass().getName();
+            String sname = name.substring(name.lastIndexOf(".")+1);
+            if(projHasPrefs(proj))
+                ((ProjectionSubPrefs) proj).setPreferences(Main.pref.getCollection("projection.sub."+sname, null));
+            if (name.equals(Main.pref.get("projection", Mercator.class.getName()))) {
                 projectionCombo.setSelectedIndex(i);
                 selectedProjectionChanged(proj);
