Index: trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java	(revision 13218)
+++ trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java	(revision 13219)
@@ -17,4 +17,5 @@
 import org.openstreetmap.josm.gui.io.AsynchronousUploadPrimitivesTask;
 import org.openstreetmap.josm.gui.util.GuiHelper;
+import org.openstreetmap.josm.tools.Logging;
 
 /**
@@ -426,7 +427,10 @@
             activeLayerChangeListeners.clear();
             layerAvailabilityListeners.clear();
-        } else if (!GraphicsEnvironment.isHeadless()) {
-            GuiHelper.runInEDT(() -> JOptionPane.showMessageDialog(MainApplication.parent,
-                    tr("A background upload is already in progress. Cannot reset state until the upload is finished.")));
+        } else {
+            String msg = tr("A background upload is already in progress. Cannot reset state until the upload is finished.");
+            Logging.warn(msg);
+            if (!GraphicsEnvironment.isHeadless()) {
+                GuiHelper.runInEDT(() -> JOptionPane.showMessageDialog(MainApplication.parent, msg));
+            }
         }
     }
Index: trunk/test/unit/org/openstreetmap/josm/gui/io/AsynchronousUploadPrimitivesTaskTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/io/AsynchronousUploadPrimitivesTaskTest.java	(revision 13218)
+++ trunk/test/unit/org/openstreetmap/josm/gui/io/AsynchronousUploadPrimitivesTaskTest.java	(revision 13219)
@@ -2,10 +2,11 @@
 package org.openstreetmap.josm.gui.io;
 
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
+import java.util.Optional;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
 import org.junit.Rule;
-import org.junit.Before;
-import org.junit.After;
 import org.junit.Test;
-import org.junit.Assert;
 import org.openstreetmap.josm.data.APIDataSet;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -18,6 +19,9 @@
 import org.openstreetmap.josm.testutils.JOSMTestRules;
 
-import java.util.Optional;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 
+/**
+ * Unit tests of {@link AsynchronousUploadPrimitivesTask}.
+ */
 public class AsynchronousUploadPrimitivesTaskTest {
 
@@ -62,4 +66,5 @@
         strategy = null;
         changeset = null;
+        uploadPrimitivesTask.cancel();
         uploadPrimitivesTask = null;
     }
