Index: trunk/src/org/openstreetmap/josm/gui/layer/AlignImageryPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/layer/AlignImageryPanel.java	(revision 19146)
+++ trunk/src/org/openstreetmap/josm/gui/layer/AlignImageryPanel.java	(revision 19147)
@@ -12,4 +12,5 @@
 import javax.swing.JCheckBox;
 import javax.swing.JPanel;
+import javax.swing.SwingUtilities;
 import javax.swing.border.CompoundBorder;
 import javax.swing.border.EmptyBorder;
@@ -20,5 +21,4 @@
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.MapFrame;
-import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.gui.widgets.JMultilineLabel;
 import org.openstreetmap.josm.gui.widgets.UrlLabel;
@@ -90,8 +90,10 @@
         BooleanProperty showAgain = new BooleanProperty("message.imagery.nagPanel." + infoToAdd.getUrl(), true);
         MapFrame map = MainApplication.getMap();
-        if (MainApplication.isDisplayingMapView() && showAgain.get() && !infoToAdd.isGeoreferenceValid()
-                && map.getTopPanel(AlignImageryPanel.class) == null) {
-            double w = GuiHelper.getScreenSize().getWidth();
-            map.addTopPanel(new AlignImageryPanel(w > 1300, showAgain, infoToAdd));
+        if (MainApplication.isDisplayingMapView() && Boolean.TRUE.equals(showAgain.get())
+                && !infoToAdd.isGeoreferenceValid() && map.getTopPanel(AlignImageryPanel.class) == null) {
+            SwingUtilities.invokeLater(() -> {
+                double w = map.getWidth();
+                map.addTopPanel(new AlignImageryPanel(w > 1300, showAgain, infoToAdd));
+            });
         }
     }
