Index: /trunk/src/org/openstreetmap/josm/gui/io/DownloadPrimitivesWithReferrersTask.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/DownloadPrimitivesWithReferrersTask.java	(revision 6979)
+++ /trunk/src/org/openstreetmap/josm/gui/io/DownloadPrimitivesWithReferrersTask.java	(revision 6980)
@@ -95,6 +95,6 @@
         // First, download primitives
         mainTask = new DownloadPrimitivesTask(tmpLayer, ids, full, getProgressMonitor().createSubTaskMonitor(1, false));
-        currentTask = mainTask;
-        synchronized(this) {
+        synchronized(this) {
+            currentTask = mainTask;
             if(canceled) {
                 currentTask = null;
@@ -121,6 +121,8 @@
     @Override
     protected void finish() {
-        if(canceled)
-            return;
+        synchronized(this) {
+            if(canceled)
+                return;
+        }
 
         // Append downloaded data to JOSM
@@ -183,6 +185,8 @@
      */
     public List<PrimitiveId> getDownloadedId() {
-        if(canceled)
-            return null;
+        synchronized(this) {
+            if(canceled)
+                return null;
+        }
         ArrayList<PrimitiveId> downloaded = new ArrayList<PrimitiveId>(ids);
         downloaded.removeAll(mainTask.getMissingPrimitives());
