Index: trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java	(revision 5114)
+++ trunk/src/org/openstreetmap/josm/data/CustomConfigurator.java	(revision 5115)
@@ -310,7 +310,21 @@
     
     public static void pluginOperation(String install, String uninstall, String delete)  {
-        final List<String> installList = Arrays.asList(install.toLowerCase().split(";"));
-        final List<String> removeList = Arrays.asList(uninstall.toLowerCase().split(";"));
-        final List<String> deleteList = Arrays.asList(delete.toLowerCase().split(";"));
+        final List<String> installList = new ArrayList<String>();
+        final List<String> removeList = new ArrayList<String>();
+        final List<String> deleteList = new ArrayList<String>();
+        Collections.addAll(installList, install.toLowerCase().split(";"));
+        Collections.addAll(removeList, uninstall.toLowerCase().split(";"));
+        Collections.addAll(deleteList, delete.toLowerCase().split(";"));
+        installList.remove("");removeList.remove("");deleteList.remove("");
+        
+        if (!installList.isEmpty()) {
+            log("Plugins install: "+installList);
+        }
+        if (!removeList.isEmpty()) {
+            log("Plugins turn off: "+removeList);
+        }
+        if (!deleteList.isEmpty()) {
+            log("Plugins delete: "+deleteList);
+        }
 
         final ReadLocalPluginInformationTask task = new ReadLocalPluginInformationTask();
@@ -319,5 +333,5 @@
                 if (task.isCanceled()) return;
                 synchronized (CustomConfigurator.class) { 
-                try { // proceed only after ll other tasks were finished
+                try { // proceed only after all other tasks were finished
                     while (busy) CustomConfigurator.class.wait();
                 } catch (InterruptedException ex) { }
@@ -351,4 +365,5 @@
                                 new File(Main.pref.getPluginsDirectory(),pi.name+".jar").deleteOnExit();
                             }
+                            System.out.println(pls);
                             Main.pref.putCollection("plugins",pls);
                         }
@@ -576,5 +591,4 @@
             String uninstall = elem.getAttribute("remove");
             String delete = elem.getAttribute("delete");
-            log("PLUGIN: install %s, remove %s, delete %s", install, uninstall, delete);
             pluginOperation(install, uninstall, delete);
         }
Index: trunk/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java	(revision 5114)
+++ trunk/src/org/openstreetmap/josm/gui/preferences/advanced/AdvancedPreference.java	(revision 5115)
@@ -302,4 +302,7 @@
         if (tmpPrefs != Main.pref) {
             loaded = tmpPrefs.getAllSettings();
+            // plugins preference keys may be changed directly later, after plugins are downloaded
+            // so we do not want to show it in the table as "changed" now
+            loaded.put("plugins", orig.get("plugins"));
         } else {
             loaded = orig;
