Index: trunk/src/org/openstreetmap/josm/plugins/PluginDownloader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/plugins/PluginDownloader.java	(revision 1016)
+++ trunk/src/org/openstreetmap/josm/plugins/PluginDownloader.java	(revision 1017)
@@ -173,5 +173,5 @@
 		File pluginDir = Main.pref.getPluginsDirFile();
 		boolean ok = true; 		
-		if (pluginDir.exists() && pluginDir.isDirectory()) {
+		if (pluginDir.exists() && pluginDir.isDirectory() && pluginDir.canWrite()) {
 			final File[] files = pluginDir.listFiles(new FilenameFilter() {
 				public boolean accept(File dir, String name) {
@@ -181,5 +181,5 @@
 				final String filePath = updatedPlugin.getPath();
 				File plugin = new File(filePath.substring(0, filePath.length() - 4));
-				ok = plugin.delete() && updatedPlugin.renameTo(plugin) && ok;
+				ok = (plugin.delete() || !plugin.exists()) && updatedPlugin.renameTo(plugin) && ok;
 			}
 		}
