Index: /trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 6002)
+++ /trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 6003)
@@ -165,5 +165,15 @@
         if (proj != null) return proj;
         ProjectionChoice pc = allProjectionChoicesByCode.get(code);
-        if (pc == null) {
+        if (pc != null) {
+            Collection<String> pref = pc.getPreferencesFromCode(code);
+            pc.setPreferences(pref);
+            try {
+                proj = pc.getProjection();
+            } catch (Throwable t) {
+                String cause = t.getMessage();
+                Main.warn("Unable to get projection "+code+" with "+pc + (cause != null ? ". "+cause : ""));
+            }
+        }
+        if (proj == null) {
             Pair<String, String> pair = inits.get(code);
             if (pair == null) return null;
@@ -171,8 +181,4 @@
             String init = pair.b;
             proj = new CustomProjection(name, code, init, null);
-        } else {
-            Collection<String> pref = pc.getPreferencesFromCode(code);
-            pc.setPreferences(pref);
-            proj = pc.getProjection();
         }
         projectionsByCode_cache.put(code, proj);
