Index: trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java	(revision 4152)
+++ trunk/src/org/openstreetmap/josm/io/MirroredInputStream.java	(revision 4153)
@@ -234,5 +234,5 @@
             fos = null;
             file = new File(destDir, localPath);
-            if(destDirFile.renameTo(file)) {
+            if(Main.platform.rename(destDirFile, file)) {
                 Main.pref.putCollection(prefKey, Arrays.asList(new String[]
                 {Long.toString(System.currentTimeMillis()), file.toString()}));
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHook.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHook.java	(revision 4152)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHook.java	(revision 4153)
@@ -2,4 +2,5 @@
 package org.openstreetmap.josm.tools;
 
+import java.io.File;
 import java.io.IOException;
 
@@ -102,3 +103,5 @@
 
     public String getDefaultStyle();
+
+    public boolean rename(File from, File to);
 }
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 4152)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java	(revision 4153)
@@ -3,4 +3,5 @@
 
 import java.awt.event.KeyEvent;
+import java.io.File;
 import java.io.IOException;
 import java.lang.reflect.InvocationHandler;
@@ -269,3 +270,9 @@
         return "javax.swing.plaf.metal.MetalLookAndFeel";
     }
+
+    @Override
+    public boolean rename(File from, File to)
+    {
+        return from.renameTo(to);
+    }
 }
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 4152)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 4153)
@@ -3,4 +3,5 @@
 
 import java.awt.event.KeyEvent;
+import java.io.File;
 import java.io.IOException;
 
@@ -78,3 +79,9 @@
         return "javax.swing.plaf.metal.MetalLookAndFeel";
     }
+
+    @Override
+    public boolean rename(File from, File to)
+    {
+        return from.renameTo(to);
+    }
 }
Index: trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java
===================================================================
--- trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java	(revision 4152)
+++ trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java	(revision 4153)
@@ -5,4 +5,5 @@
 
 import java.awt.event.KeyEvent;
+import java.io.File;
 import java.io.IOException;
 
@@ -60,3 +61,11 @@
         return "com.sun.java.swing.plaf.windows.WindowsLookAndFeel";
     }
+
+    @Override
+    public boolean rename(File from, File to)
+    {
+        if(to.exists())
+            to.delete();
+        return from.renameTo(to);
+    }
 }
