Index: src/org/openstreetmap/josm/Main.java
===================================================================
--- src/org/openstreetmap/josm/Main.java	(revision 153)
+++ src/org/openstreetmap/josm/Main.java	(revision 154)
@@ -28,4 +28,5 @@
 import javax.swing.JSeparator;
 import javax.swing.JToolBar;
+import javax.swing.SwingUtilities;
 import javax.swing.UIManager;
 
@@ -272,4 +273,8 @@
 			}
 		}
+
+		SwingUtilities.updateComponentTreeUI(parent);
+		for (DownloadTask task : downloadAction.downloadTasks)
+			task.getCheckBox().updateUI();
 	}
 
@@ -312,5 +317,5 @@
 	public static JPanel panel = new JPanel(new BorderLayout());
 
-	protected final JMenuBar mainMenu = new JMenuBar();
+	public final JMenuBar mainMenu = new JMenuBar();
 	protected static Rectangle bounds;
 
Index: src/org/openstreetmap/josm/plugins/Plugin.java
===================================================================
--- src/org/openstreetmap/josm/plugins/Plugin.java	(revision 153)
+++ src/org/openstreetmap/josm/plugins/Plugin.java	(revision 154)
@@ -1,4 +1,8 @@
 package org.openstreetmap.josm.plugins;
 
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
 import java.net.URL;
 import java.net.URLClassLoader;
@@ -62,3 +66,16 @@
 	 */
 	public void mapFrameInitialized(MapFrame oldFrame, MapFrame newFrame) {}
+
+	/**
+	 * Copies the ressource 'from' to the file in the plugin directory named 'to'.
+	 */
+	public void copy(String from, String to) throws FileNotFoundException, IOException {
+    	FileOutputStream out = new FileOutputStream(getPluginDir()+to);
+    	InputStream in = getClass().getResourceAsStream(from);
+    	byte[] buffer = new byte[8192];
+    	for(int len = in.read(buffer); len > 0; len = in.read(buffer))
+    		out.write(buffer, 0, len);
+    	in.close();
+    	out.close();
+    }
 }
Index: src/org/openstreetmap/josm/plugins/PluginProxy.java
===================================================================
--- src/org/openstreetmap/josm/plugins/PluginProxy.java	(revision 153)
+++ src/org/openstreetmap/josm/plugins/PluginProxy.java	(revision 154)
@@ -25,4 +25,5 @@
 		try {
 	        plugin.getClass().getMethod("mapFrameInitialized", MapFrame.class, MapFrame.class).invoke(plugin, oldFrame, newFrame);
+        } catch (NoSuchMethodException e) {
         } catch (Exception e) {
         	throw new PluginException(this, info.name, e);
