Index: trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 5467)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 5468)
@@ -59,5 +59,5 @@
         }
     }
-    
+
     private PluginPreference() {
         super("plugin", tr("Plugins"), tr("Configure available plugins."));
@@ -74,5 +74,5 @@
                     downloaded.size(),
                     downloaded.size()
-            ));
+                    ));
             sb.append("<ul>");
             for(PluginInformation pi: downloaded) {
@@ -87,5 +87,5 @@
                     failed.size(),
                     failed.size()
-            ));
+                    ));
             sb.append("<ul>");
             for(PluginInformation pi: failed) {
@@ -156,5 +156,5 @@
                     }
                 }
-        );
+                );
 
         pnl.add(spPluginPreferences, BorderLayout.CENTER);
@@ -194,11 +194,11 @@
                         tr("Accept the new plugin sites and close the dialog"),
                         null /* no special help topic */
-                ),
-                new ButtonSpec(
-                        tr("Cancel"),
-                        ImageProvider.get("cancel"),
-                        tr("Close the dialog"),
-                        null /* no special help topic */
-                )
+                        ),
+                        new ButtonSpec(
+                                tr("Cancel"),
+                                ImageProvider.get("cancel"),
+                                tr("Close the dialog"),
+                                null /* no special help topic */
+                                )
         };
         PluginConfigurationSitesPanel pnl = new PluginConfigurationSitesPanel();
@@ -213,5 +213,5 @@
                 options[0],
                 null /* no help topic */
-        );
+                );
         if (answer != 0 /* OK */)
             return;
@@ -323,15 +323,23 @@
                     !failed.isEmpty() ? JOptionPane.WARNING_MESSAGE : JOptionPane.INFORMATION_MESSAGE,
                             HelpUtil.ht("/Preferences/Plugins")
-            );
+                    );
         }
 
         protected void alertNothingToUpdate() {
-            HelpAwareOptionPane.showOptionDialog(
-                    pnlPluginPreferences,
-                    tr("All installed plugins are up to date. JOSM does not have to download newer versions."),
-                    tr("Plugins up to date"),
-                    JOptionPane.INFORMATION_MESSAGE,
-                    null // FIXME: provide help context
-            );
+            try {
+                SwingUtilities.invokeAndWait(new Runnable() {
+                    public void run() {
+                        HelpAwareOptionPane.showOptionDialog(
+                                pnlPluginPreferences,
+                                tr("All installed plugins are up to date. JOSM does not have to download newer versions."),
+                                tr("Plugins up to date"),
+                                JOptionPane.INFORMATION_MESSAGE,
+                                null // FIXME: provide help context
+                                );
+                    };
+                });
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
         }
 
@@ -343,5 +351,5 @@
                     toUpdate,
                     tr("Update plugins")
-            );
+                    );
             // the async task for downloading plugin information
             final ReadRemotePluginInformationTask pluginInfoDownloadTask = new ReadRemotePluginInformationTask(Main.pref.getPluginSites());
@@ -456,5 +464,5 @@
                             tr("Enter URL"),
                             JOptionPane.QUESTION_MESSAGE
-                    );
+                            );
                     if (s != null) {
                         model.addElement(s);
@@ -470,5 +478,5 @@
                                 tr("Warning"),
                                 JOptionPane.WARNING_MESSAGE
-                        );
+                                );
                         return;
                     }
@@ -481,5 +489,5 @@
                             null,
                             list.getSelectedValue()
-                    );
+                            );
                     if (s != null) {
                         model.setElementAt(s, list.getSelectedIndex());
@@ -495,5 +503,5 @@
                                 tr("Warning"),
                                 JOptionPane.WARNING_MESSAGE
-                        );
+                                );
                         return;
                     }
