Index: trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginPreference.java	(revision 9615)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginPreference.java	(revision 9616)
@@ -7,4 +7,5 @@
 import java.awt.BorderLayout;
 import java.awt.Component;
+import java.awt.GraphicsEnvironment;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
@@ -143,16 +144,18 @@
         }
         sb.append("</html>");
-        GuiHelper.runInEDTAndWait(new Runnable() {
-            @Override
-            public void run() {
-                HelpAwareOptionPane.showOptionDialog(
-                        parent,
-                        sb.toString(),
-                        tr("Update plugins"),
-                        !failed.isEmpty() ? JOptionPane.WARNING_MESSAGE : JOptionPane.INFORMATION_MESSAGE,
-                                HelpUtil.ht("/Preferences/Plugins")
-                        );
-            }
-        });
+        if (!GraphicsEnvironment.isHeadless()) {
+            GuiHelper.runInEDTAndWait(new Runnable() {
+                @Override
+                public void run() {
+                    HelpAwareOptionPane.showOptionDialog(
+                            parent,
+                            sb.toString(),
+                            tr("Update plugins"),
+                            !failed.isEmpty() ? JOptionPane.WARNING_MESSAGE : JOptionPane.INFORMATION_MESSAGE,
+                                    HelpUtil.ht("/Preferences/Plugins")
+                            );
+                }
+            });
+        }
     }
 
Index: trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 9615)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 9616)
@@ -1205,5 +1205,5 @@
     /**
      * Determines if the specified file is a valid and accessible JAR file.
-     * @param jar The fil to check
+     * @param jar The file to check
      * @return true if file can be opened as a JAR file.
      * @since 5723
@@ -1214,7 +1214,10 @@
                 new JarFile(jar).close();
             } catch (Exception e) {
+                Main.warn(e);
                 return false;
             }
             return true;
+        } else if (jar != null) {
+            Main.warn("Invalid jar file ''"+jar+"'' (exists: "+jar.exists()+", canRead: "+jar.canRead()+")");
         }
         return false;
