Index: trunk/src/org/openstreetmap/josm/io/GeoJSONWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/GeoJSONWriter.java	(revision 11165)
+++ trunk/src/org/openstreetmap/josm/io/GeoJSONWriter.java	(revision 11166)
@@ -18,4 +18,5 @@
 import javax.json.stream.JsonGenerator;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.EastNorth;
@@ -119,5 +120,8 @@
         @Override
         public void visit(Relation r) {
-            if (r != null && r.isMultipolygon() && !r.hasIncompleteMembers()) {
+            if (r == null || !r.isMultipolygon() || r.hasIncompleteMembers()) {
+                return;
+            }
+            try {
                 final Pair<List<JoinedPolygon>, List<JoinedPolygon>> mp = MultipolygonBuilder.joinWays(r);
                 final JsonArrayBuilder polygon = Json.createArrayBuilder();
@@ -130,4 +134,7 @@
                 final JsonArrayBuilder multiPolygon = Json.createArrayBuilder().add(polygon);
                 geomObj.add("coordinates", multiPolygon);
+            } catch (MultipolygonBuilder.JoinedPolygonCreationException ex) {
+                Main.warn("GeoJSON: Failed to export multipolygon " + r.getUniqueId());
+                Main.warn(ex);
             }
         }
