Index: trunk/src/org/openstreetmap/josm/plugins/PluginListParser.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginListParser.java	(revision 10122)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginListParser.java	(revision 10123)
@@ -34,5 +34,5 @@
      * @throws PluginListParseException if plugin manifest cannot be parsed
      */
-    protected static PluginInformation createInfo(String name, String url, String manifest) throws PluginListParseException {
+    public static PluginInformation createInfo(String name, String url, String manifest) throws PluginListParseException {
         try {
             return new PluginInformation(
Index: trunk/src/org/openstreetmap/josm/plugins/ReadLocalPluginInformationTask.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/ReadLocalPluginInformationTask.java	(revision 10122)
+++ trunk/src/org/openstreetmap/josm/plugins/ReadLocalPluginInformationTask.java	(revision 10123)
@@ -16,4 +16,5 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.PleaseWaitRunnable;
+import org.openstreetmap.josm.gui.progress.NullProgressMonitor;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
 import org.openstreetmap.josm.io.OsmTransferException;
@@ -136,5 +137,8 @@
 
     protected void scanLocalPluginRepository(ProgressMonitor monitor, File pluginsDirectory) {
-        if (pluginsDirectory == null) return;
+        if (pluginsDirectory == null)
+            return;
+        if (monitor == null)
+            monitor = NullProgressMonitor.INSTANCE;
         try {
             monitor.beginTask("");
