Index: trunk/test/unit/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayerTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayerTest.java	(revision 19080)
+++ trunk/test/unit/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayerTest.java	(revision 19082)
@@ -12,4 +12,5 @@
 import org.openstreetmap.josm.testutils.annotations.BasicPreferences;
 import org.openstreetmap.josm.testutils.annotations.Main;
+import org.openstreetmap.josm.testutils.annotations.ThreadSync;
 
 /**
@@ -22,4 +23,9 @@
     @AfterEach
     void tearDown() {
+        // We need to ensure that all threads are "done" before continuing.
+        // Otherwise, other tests may have an ImageViewerDialog that causes issues...
+        // Note: we cannot (currently) use the ThreadSync annotation since it runs
+        // *after* local AfterEach and AfterAll methods.
+        new ThreadSync.ThreadSyncExtension().threadSync();
         if (ImageViewerDialog.hasInstance()) {
             ImageViewerDialog.getInstance().destroy();
