Index: /src/org/openstreetmap/josm/plugins/PluginLoader.java
===================================================================
--- /src/org/openstreetmap/josm/plugins/PluginLoader.java	(revision 151)
+++ /src/org/openstreetmap/josm/plugins/PluginLoader.java	(revision 152)
@@ -20,17 +20,17 @@
 	 */
 	public String loadClassName(File pluginFile) throws PluginException {
-	    try {
-	        JarInputStream jar = new JarInputStream(new FileInputStream(pluginFile));
-	        Manifest manifest = jar.getManifest();
-	        String pluginClass = manifest.getMainAttributes().getValue("Plugin-Class");
-	        jar.close();
-	        return pluginClass;
-        } catch (IOException e) {
-        	String name = pluginFile.getName();
-        	if (name.endsWith(".jar"))
-        		name = name.substring(0, name.length()-4);
-        	throw new PluginException(null, name, e);
-        }
-    }
+		try {
+			JarInputStream jar = new JarInputStream(new FileInputStream(pluginFile));
+			Manifest manifest = jar.getManifest();
+			String pluginClass = manifest.getMainAttributes().getValue("Plugin-Class");
+			jar.close();
+			return pluginClass;
+		} catch (IOException e) {
+			String name = pluginFile.getName();
+			if (name.endsWith(".jar"))
+				name = name.substring(0, name.length()-4);
+			throw new PluginException(null, name, e);
+		}
+	}
 
 	/**
@@ -42,12 +42,19 @@
 			name = name.substring(0, name.length()-4);
 		try {
+			String url = "file://"+pluginFile.getAbsolutePath();
+			url = url.replace('\\', '/');
+
+			// *sic*
+			if (System.getProperty("os.name").startsWith("Windows"))
+				url = "file:/" + url.substring(7);
+
 			ClassLoader loader = URLClassLoader.newInstance(
-					new URL[]{new URL("file://"+pluginFile.getAbsolutePath())},
+					new URL[]{new URL(url)},
 					getClass().getClassLoader());
 			Object plugin = Class.forName(pluginClass, true, loader).newInstance();
 			return new PluginProxy(plugin, name);
-        } catch (Exception e) {
-        	throw new PluginException(null, name, e);
-        }
+		} catch (Exception e) {
+			throw new PluginException(null, name, e);
+		}
 	}
 }
