Index: trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 9310)
+++ trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 9311)
@@ -151,4 +151,10 @@
 
     /**
+     * Indicates whether {@link #init(boolean)} completed successfully.
+     * Used to decide whether to write backup preference file in {@link #save()}
+     */
+    protected boolean initSuccessful = false;
+
+    /**
      * Interface for a preference value.
      *
@@ -862,5 +868,5 @@
 
         // Backup old preferences if there are old preferences
-        if (prefFile.exists()) {
+        if (prefFile.exists() && prefFile.length() > 0 && initSuccessful) {
             Utils.copyFile(prefFile, backupFile);
         }
@@ -921,4 +927,5 @@
      */
     public void init(boolean reset) {
+        initSuccessful = false;
         // get the preferences.
         File prefDir = getPreferencesDirectory();
@@ -975,4 +982,5 @@
         try {
             load();
+            initSuccessful = true;
         } catch (Exception e) {
             Main.error(e);
