Index: trunk/src/org/openstreetmap/josm/data/validation/ValidationTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/ValidationTask.java	(revision 18849)
+++ trunk/src/org/openstreetmap/josm/data/validation/ValidationTask.java	(revision 18850)
@@ -94,5 +94,12 @@
         if (canceled) return;
 
-        if (!GraphicsEnvironment.isHeadless() && MainApplication.getMap() != null) {
+        // Remove any low severity issues if they are not desired.
+        if (!(Boolean.TRUE.equals(ValidatorPrefHelper.PREF_OTHER.get()) &&
+                (!this.beforeUpload || Boolean.TRUE.equals(ValidatorPrefHelper.PREF_OTHER_UPLOAD.get())))) {
+            // Use >= just in case we add additional levels.
+            this.errors.removeIf(error -> error.getSeverity().getLevel() >= Severity.OTHER.getLevel());
+        }
+
+        if (!GraphicsEnvironment.isHeadless() && MainApplication.getMap() != null && (!beforeUpload || !errors.isEmpty())) {
             // update GUI on Swing EDT
             GuiHelper.runInEDT(() -> {
@@ -108,10 +115,4 @@
         }
         if (this.onFinish != null) {
-            // Remove any low severity issues if they are not desired.
-            if (!(Boolean.TRUE.equals(ValidatorPrefHelper.PREF_OTHER.get()) &&
-                    (!this.beforeUpload || Boolean.TRUE.equals(ValidatorPrefHelper.PREF_OTHER_UPLOAD.get())))) {
-                // Use >= just in case we add additional levels.
-                this.errors.removeIf(error -> error.getSeverity().getLevel() >= Severity.OTHER.getLevel());
-            }
             this.onFinish.accept(this.errors);
         }
