Index: trunk/src/org/openstreetmap/josm/data/projection/Ellipsoid.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Ellipsoid.java	(revision 13421)
+++ trunk/src/org/openstreetmap/josm/data/projection/Ellipsoid.java	(revision 13423)
@@ -60,4 +60,14 @@
      */
     public static final Ellipsoid EverestSabahSarawak = Ellipsoid.createArf(6377298.556, 300.8017);
+
+    /**
+     * Fischer (Mercury Datum) 1960
+     */
+    public static final Ellipsoid Fischer = Ellipsoid.createArf(6378166., 298.3);
+
+    /**
+     * Modified Fischer 1960
+     */
+    public static final Ellipsoid FischerMod = Ellipsoid.createArf(6378155., 298.3);
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/projection/Projections.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 13421)
+++ trunk/src/org/openstreetmap/josm/data/projection/Projections.java	(revision 13423)
@@ -110,4 +110,6 @@
         ellipsoids.put("clrk80ign", Ellipsoid.ClarkeIGN);
         ellipsoids.put("evrstSS", Ellipsoid.EverestSabahSarawak);
+        ellipsoids.put("fschr60", Ellipsoid.Fischer);
+        ellipsoids.put("fschr60m", Ellipsoid.FischerMod);
         ellipsoids.put("intl", Ellipsoid.Hayford);
         ellipsoids.put("helmert", Ellipsoid.Helmert);
@@ -318,5 +320,5 @@
                 cproj.update(pd.definition);
             } catch (ProjectionConfigurationException ex) {
-                throw new RuntimeException(ex);
+                throw new RuntimeException("Error loading " + code, ex);
             }
             proj = cproj;
