Index: trunk/src/org/openstreetmap/josm/gui/SplashScreen.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 10120)
+++ trunk/src/org/openstreetmap/josm/gui/SplashScreen.java	(revision 10121)
@@ -225,4 +225,7 @@
         public void beginTask(String title) {
             if (title != null) {
+                if (Main.isDebugEnabled()) {
+                    Main.debug(title);
+                }
                 final MeasurableTask task = new MeasurableTask(title);
                 tasks.add(task);
@@ -283,5 +286,7 @@
             if (task instanceof MeasurableTask) {
                 ((MeasurableTask) task).finish();
-                Main.debug(tr("{0} completed in {1}", title, ((MeasurableTask) task).duration));
+                if (Main.isDebugEnabled()) {
+                    Main.debug(tr("{0} completed in {1}", title, ((MeasurableTask) task).duration));
+                }
                 listener.stateChanged(null);
             }
Index: trunk/src/org/openstreetmap/josm/gui/progress/NullProgressMonitor.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/progress/NullProgressMonitor.java	(revision 10120)
+++ trunk/src/org/openstreetmap/josm/gui/progress/NullProgressMonitor.java	(revision 10121)
@@ -6,6 +6,11 @@
 import org.openstreetmap.josm.Main;
 
+/**
+ * A singleton progress monitor that does nothing.
+ * @since 1811
+ */
 public final class NullProgressMonitor implements ProgressMonitor {
 
+    /** The unique instance */
     public static final ProgressMonitor INSTANCE = new NullProgressMonitor();
 
@@ -20,8 +25,14 @@
     @Override
     public void beginTask(String title) {
+        if (Main.isDebugEnabled()) {
+            Main.debug(title);
+        }
     }
 
     @Override
     public void beginTask(String title, int ticks) {
+        if (Main.isDebugEnabled()) {
+            Main.debug(title);
+        }
     }
 
@@ -50,4 +61,7 @@
     @Override
     public void indeterminateSubTask(String title) {
+        if (Main.isDebugEnabled()) {
+            Main.debug(title);
+        }
     }
 
@@ -93,4 +107,7 @@
     @Override
     public void subTask(String title) {
+        if (Main.isDebugEnabled()) {
+            Main.debug(title);
+        }
     }
 
Index: trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 10120)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 10121)
@@ -881,8 +881,14 @@
         try {
             monitor.beginTask(tr("Determine plugins to load..."));
-            Set<String> plugins = new HashSet<>();
-            plugins.addAll(Main.pref.getCollection("plugins", new LinkedList<String>()));
-            if (System.getProperty("josm.plugins") != null) {
-                plugins.addAll(Arrays.asList(System.getProperty("josm.plugins").split(",")));
+            Set<String> plugins = new HashSet<>(Main.pref.getCollection("plugins", new LinkedList<String>()));
+            if (Main.isDebugEnabled()) {
+                Main.debug("Plugins list initialized to " + plugins);
+            }
+            String systemProp = System.getProperty("josm.plugins");
+            if (systemProp != null) {
+                plugins.addAll(Arrays.asList(systemProp.split(",")));
+                if (Main.isDebugEnabled()) {
+                    Main.debug("josm.plugins system property set to '" + systemProp+"'. Plugins list is now " + plugins);
+                }
             }
             monitor.subTask(tr("Removing deprecated plugins..."));
@@ -890,4 +896,7 @@
             monitor.subTask(tr("Removing unmaintained plugins..."));
             filterUnmaintainedPlugins(parent, plugins);
+            if (Main.isDebugEnabled()) {
+                Main.debug("Plugins list is finally set to " + plugins);
+            }
             Map<String, PluginInformation> infos = loadLocallyAvailablePluginInformation(monitor.createSubTaskMonitor(1, false));
             List<PluginInformation> ret = new LinkedList<>();
Index: trunk/test/unit/org/openstreetmap/josm/gui/MainApplicationTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/gui/MainApplicationTest.java	(revision 10120)
+++ trunk/test/unit/org/openstreetmap/josm/gui/MainApplicationTest.java	(revision 10121)
@@ -39,4 +39,5 @@
         try {
             System.setProperty("josm.plugins", "buildings_tools,plastic_laf");
+            assertEquals("buildings_tools,plastic_laf", System.getProperty("josm.plugins"));
             SplashProgressMonitor monitor = new SplashProgressMonitor("foo", new ChangeListener() {
                 @Override
@@ -46,4 +47,5 @@
             });
             Collection<PluginInformation> plugins = MainApplication.updateAndLoadEarlyPlugins(null, monitor);
+            assertEquals("buildings_tools,plastic_laf", System.getProperty("josm.plugins"));
             assertEquals(2, plugins.size());
             assertNotNull(PluginHandler.getPlugin("plastic_laf"));
