Index: /trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 2151)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/PluginPreference.java	(revision 2152)
@@ -105,4 +105,5 @@
 
         selection.passTxtFilter(txtFilter);
+        selection.loadPlugins();
         selection.drawPanel(pluginPanel);
     }
Index: /trunk/src/org/openstreetmap/josm/plugins/PluginSelection.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/plugins/PluginSelection.java	(revision 2151)
+++ /trunk/src/org/openstreetmap/josm/plugins/PluginSelection.java	(revision 2152)
@@ -71,4 +71,5 @@
             );
         }
+        loadPlugins();
         drawPanel(pluginPanel);
     }
@@ -78,4 +79,5 @@
         int num = PluginDownloader.downloadDescription();
         Boolean done = false;
+        loadPlugins();
         drawPanel(pluginPanel);
 
@@ -120,4 +122,5 @@
             Main.pref.put("pluginmanager.lastupdate", Long.toString(System.currentTimeMillis()));
         }
+        loadPlugins();
         drawPanel(pluginPanel);
     }
@@ -170,5 +173,4 @@
     /* return true when plugin list changed */
     public void drawPanel(JPanel pluginPanel) {
-        loadPlugins();
         Collection<String> enabledPlugins = Main.pref.getCollection("plugins", null);
 
@@ -299,5 +301,5 @@
     }
 
-    private void loadPlugins() {
+    public void loadPlugins() {
         availablePlugins = new TreeMap<String, PluginInformation>(new Comparator<String>(){
             public int compare(String o1, String o2) {
