Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/DownloadRelationTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/DownloadRelationTask.java	(revision 15811)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/relation/DownloadRelationTask.java	(revision 15812)
@@ -19,5 +19,4 @@
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.MultiFetchServerObjectReader;
-import org.openstreetmap.josm.io.OsmServerReader;
 import org.openstreetmap.josm.io.OsmTransferException;
 import org.openstreetmap.josm.tools.CheckParameterUtil;
@@ -35,5 +34,5 @@
     private final Collection<Relation> relations;
     private final OsmDataLayer layer;
-    private OsmServerReader objectReader;
+    private MultiFetchServerObjectReader multiObjectReader;
 
     /**
@@ -60,6 +59,6 @@
         canceled = true;
         synchronized (this) {
-            if (objectReader != null) {
-                objectReader.cancel();
+            if (multiObjectReader != null) {
+                multiObjectReader.cancel();
             }
         }
@@ -80,13 +79,13 @@
             final DataSet allDownloads = new DataSet();
             getProgressMonitor().setTicksCount(relations.size());
-            MultiFetchServerObjectReader multiObjectReader;
+            DataSet dataSet = null;
             synchronized (this) {
                 if (canceled)
                     return;
                 multiObjectReader = MultiFetchServerObjectReader.create();
+                multiObjectReader.setRecurseDownRelations(true).setRecurseDownAppended(false);
+                multiObjectReader.append(relations);
+                dataSet = multiObjectReader.parseOsm(progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
             }
-            multiObjectReader.setRecurseDownRelations(true).setRecurseDownAppended(false);
-            multiObjectReader.append(relations);
-            DataSet dataSet = multiObjectReader.parseOsm(progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false));
             if (dataSet == null)
                 return;
