Index: /trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 17634)
+++ /trunk/src/org/openstreetmap/josm/io/MultiFetchServerObjectReader.java	(revision 17635)
@@ -443,4 +443,5 @@
      */
     private void downloadRelations(ProgressMonitor progressMonitor) throws OsmTransferException {
+        boolean removeIncomplete = outputDataSet.isEmpty();
         Set<Long> toDownload = new LinkedHashSet<>(relations);
         fetchPrimitives(toDownload, OsmPrimitiveType.RELATION, progressMonitor);
@@ -450,7 +451,11 @@
         // OSM multi-fetch api may return invisible objects, we don't try to get details for them
         for (Relation r : outputDataSet.getRelations()) {
-            if (!r.isVisible())
+            if (!r.isVisible()) {
                 toDownload.remove(r.getUniqueId());
-        }
+            } else if (removeIncomplete) {
+                outputDataSet.removePrimitive(r);
+            }
+        }
+
         // fetch full info for all visible relations
         for (long id : toDownload) {
