Index: trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 3105)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java	(revision 3106)
@@ -650,18 +650,17 @@
             // filter plugins which actually have to be updated
             //
-            Iterator<PluginInformation> it = plugins.iterator();
-            while(it.hasNext()) {
-                PluginInformation pi = it.next();
-                if (!pi.isUpdateRequired()) {
-                    it.remove();
+            Collection<PluginInformation> pluginsToUpdate = new ArrayList<PluginInformation>();
+            for(PluginInformation pi: plugins) {
+                if (pi.isUpdateRequired()) {
+                    pluginsToUpdate.add(pi);
                 }
             }
 
-            if (!plugins.isEmpty()) {
+            if (!pluginsToUpdate.isEmpty()) {
                 // try to update the locally installed plugins
                 //
                 PluginDownloadTask task2 = new PluginDownloadTask(
                         monitor.createSubTaskMonitor(1,false),
-                        plugins,
+                        pluginsToUpdate,
                         tr("Update plugins")
                 );
@@ -672,9 +671,9 @@
                 } catch(ExecutionException e) {
                     e.printStackTrace();
-                    alertFailedPluginUpdate(parent, plugins);
+                    alertFailedPluginUpdate(parent, pluginsToUpdate);
                     return;
                 } catch(InterruptedException e) {
                     e.printStackTrace();
-                    alertFailedPluginUpdate(parent, plugins);
+                    alertFailedPluginUpdate(parent, pluginsToUpdate);
                     return;
                 }
