Index: trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java	(revision 3872)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/ProjectionPreference.java	(revision 3873)
@@ -206,13 +206,22 @@
             Main.proj = (Projection)Class.forName(name).newInstance();
         } catch (final Exception e) {
-            JOptionPane.showMessageDialog(
-                    Main.parent,
-                    tr("The projection {0} could not be activated. Using Mercator", name),
-                    tr("Error"),
-                    JOptionPane.ERROR_MESSAGE
-            );
-            coll = null;
-            Main.proj = new Mercator();
-            name = Main.proj.getClass().getName();
+            // backup plan: if we cannot instantiate this, maybe we have an instance already.
+            Main.proj = null;
+            for (Projection p : Projections.getProjections()) {
+                if (p.getClass().getName().equals(name)) {
+                    Main.proj = p; break;
+                } 
+            }
+            if (Main.proj == null) {
+                JOptionPane.showMessageDialog(
+                        Main.parent,
+                        tr("The projection {0} could not be activated. Using Mercator", name),
+                        tr("Error"),
+                        JOptionPane.ERROR_MESSAGE
+                );
+                coll = null;
+                Main.proj = new Mercator();
+                name = Main.proj.getClass().getName();
+            }
         }
         PROP_SUB_PROJECTION.put(coll);
