Index: trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java	(revision 10851)
+++ trunk/src/org/openstreetmap/josm/actions/ExtensionFileFilter.java	(revision 10852)
@@ -102,5 +102,4 @@
                 org.openstreetmap.josm.io.OsmGzipExporter.class,
                 org.openstreetmap.josm.io.OsmBzip2Exporter.class,
-                org.openstreetmap.josm.io.GeoJSONExporter.CurrentProjection.class, // needs to be considered earlier than GeoJSONExporter
                 org.openstreetmap.josm.io.GeoJSONExporter.class,
                 org.openstreetmap.josm.io.WMSLayerExporter.class,
Index: trunk/src/org/openstreetmap/josm/io/GeoJSONExporter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GeoJSONExporter.java	(revision 10851)
+++ trunk/src/org/openstreetmap/josm/io/GeoJSONExporter.java	(revision 10852)
@@ -10,28 +10,17 @@
 import java.nio.file.Files;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.ExtensionFileFilter;
-import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.gui.layer.Layer;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
-import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
-import org.openstreetmap.josm.tools.Utils;
 
+/**
+ * Exporter to write map data to a GeoJSON file.
+ * @since 4886
+ */
 public class GeoJSONExporter extends FileExporter {
 
-    protected final Projection projection;
+    /** File extension filter for .geojson files */
     public static final ExtensionFileFilter FILE_FILTER = new ExtensionFileFilter(
             "geojson,json", "geojson", tr("GeoJSON Files") + " (*.geojson *.json)");
-    public static final ExtensionFileFilter FILE_FILTER_PROJECTED = new ExtensionFileFilter(
-            "proj.geojson", "proj.geojson", tr("Projected GeoJSON Files") + " (*.proj.geojson)");
-
-    /**
-     * A GeoJSON exporter which obtains the current map projection when exporting ({@link #exportData(File, Layer)}).
-     */
-    public static class CurrentProjection extends GeoJSONExporter {
-        public CurrentProjection() {
-            super(FILE_FILTER_PROJECTED, null);
-        }
-    }
 
     /**
@@ -39,10 +28,5 @@
      */
     public GeoJSONExporter() {
-        this(FILE_FILTER, ProjectionPreference.wgs84.getProjection());
-    }
-
-    private GeoJSONExporter(ExtensionFileFilter fileFilter, Projection projection) {
-        super(fileFilter);
-        this.projection = projection;
+        super(FILE_FILTER);
     }
 
@@ -50,7 +34,6 @@
     public void exportData(File file, Layer layer) throws IOException {
         if (layer instanceof OsmDataLayer) {
-            String json = new GeoJSONWriter((OsmDataLayer) layer, Utils.firstNonNull(projection, Main.getProjection())).write();
             try (Writer out = Files.newBufferedWriter(file.toPath(), StandardCharsets.UTF_8)) {
-                out.write(json);
+                out.write(new GeoJSONWriter((OsmDataLayer) layer).write());
             }
         } else {
Index: trunk/src/org/openstreetmap/josm/io/GeoJSONWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GeoJSONWriter.java	(revision 10851)
+++ trunk/src/org/openstreetmap/josm/io/GeoJSONWriter.java	(revision 10852)
@@ -32,8 +32,11 @@
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
 import org.openstreetmap.josm.gui.mappaint.ElemStyles;
+import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
 import org.openstreetmap.josm.tools.Pair;
 
 /**
  * Writes OSM data as a GeoJSON string, using JSR 353: Java API for JSON Processing (JSON-P).
+ * <p>
+ * See <a href="https://tools.ietf.org/html/rfc7946">RFC7946: The GeoJSON Format</a>
  */
 public class GeoJSONWriter {
@@ -46,9 +49,9 @@
      * Constructs a new {@code GeoJSONWriter}.
      * @param layer The OSM data layer to save
-     * @param projection The projection to use for coordinates
+     * @since 10852
      */
-    public GeoJSONWriter(OsmDataLayer layer, Projection projection) {
+    public GeoJSONWriter(OsmDataLayer layer) {
         this.layer = layer;
-        this.projection = projection;
+        this.projection = ProjectionPreference.wgs84.getProjection();
     }
 
@@ -74,6 +77,4 @@
             JsonObjectBuilder object = Json.createObjectBuilder()
                     .add("type", "FeatureCollection")
-                    .add("crs", Json.createObjectBuilder().add("type", "name").add(
-                            "properties", Json.createObjectBuilder().add("name", projection.toCode())))
                     .add("generator", "JOSM");
             appendLayerBounds(layer.data, object);
Index: trunk/test/unit/org/openstreetmap/josm/io/GeoJSONWriterTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/GeoJSONWriterTest.java	(revision 10851)
+++ trunk/test/unit/org/openstreetmap/josm/io/GeoJSONWriterTest.java	(revision 10852)
@@ -4,4 +4,6 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+
+import java.io.FileInputStream;
 
 import org.junit.BeforeClass;
@@ -13,7 +15,4 @@
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
-import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference;
-
-import java.io.FileInputStream;
 
 /**
@@ -41,14 +40,8 @@
         ds.addPrimitive(node);
         final OsmDataLayer layer = new OsmDataLayer(ds, "foo", null);
-        final GeoJSONWriter writer = new GeoJSONWriter(layer, ProjectionPreference.wgs84.getProjection());
+        final GeoJSONWriter writer = new GeoJSONWriter(layer);
         assertEquals(("" +
                 "{\n" +
                 "    'type':'FeatureCollection',\n" +
-                "    'crs':{\n" +
-                "        'type':'name',\n" +
-                "        'properties':{\n" +
-                "            'name':'EPSG:4326'\n" +
-                "        }\n" +
-                "    },\n" +
                 "    'generator':'JOSM',\n" +
                 "    'features':[\n" +
@@ -73,4 +66,5 @@
     /**
      * Unit test for multipolygon
+     * @throws Exception if an error occurs
      */
     @Test
@@ -79,5 +73,5 @@
             DataSet ds = OsmReader.parseDataSet(in, null);
             final OsmDataLayer layer = new OsmDataLayer(ds, "foo", null);
-            final GeoJSONWriter writer = new GeoJSONWriter(layer, ProjectionPreference.wgs84.getProjection());
+            final GeoJSONWriter writer = new GeoJSONWriter(layer);
             assertTrue(writer.write().contains("MultiPolygon"));
         }
