Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 13021)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 13023)
@@ -37,4 +37,5 @@
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
+import org.openstreetmap.josm.data.preferences.JosmBaseDirectories;
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.data.projection.ProjectionChangeListener;
@@ -115,5 +116,5 @@
      * Global application preferences
      */
-    public static final Preferences pref = new Preferences();
+    public static final Preferences pref = new Preferences(JosmBaseDirectories.getInstance());
 
     /**
Index: trunk/src/org/openstreetmap/josm/data/Preferences.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 13021)
+++ trunk/src/org/openstreetmap/josm/data/Preferences.java	(revision 13023)
@@ -42,5 +42,4 @@
 import org.openstreetmap.josm.data.preferences.IntegerProperty;
 import org.openstreetmap.josm.data.preferences.ColorInfo;
-import org.openstreetmap.josm.data.preferences.JosmBaseDirectories;
 import org.openstreetmap.josm.data.preferences.LongProperty;
 import org.openstreetmap.josm.data.preferences.NamedColorProperty;
@@ -464,5 +463,5 @@
      */
     public File getPreferenceFile() {
-        return new File(getPreferencesDirectory(false), "preferences.xml");
+        return new File(dirs.getPreferencesDirectory(false), "preferences.xml");
     }
 
@@ -472,5 +471,5 @@
      */
     public File getDefaultsCacheFile() {
-        return new File(getCacheDirectory(true), "default_preferences.xml");
+        return new File(dirs.getCacheDirectory(true), "default_preferences.xml");
     }
 
@@ -480,5 +479,5 @@
      */
     public File getPluginsDirectory() {
-        return new File(getUserDataDirectory(false), "plugins");
+        return new File(dirs.getUserDataDirectory(false), "plugins");
     }
 
@@ -519,6 +518,6 @@
     public Collection<String> getAllPossiblePreferenceDirs() {
         Set<String> locations = new HashSet<>();
-        addPossibleResourceDir(locations, getPreferencesDirectory(false).getPath());
-        addPossibleResourceDir(locations, getUserDataDirectory(false).getPath());
+        addPossibleResourceDir(locations, dirs.getPreferencesDirectory(false).getPath());
+        addPossibleResourceDir(locations, dirs.getUserDataDirectory(false).getPath());
         addPossibleResourceDir(locations, System.getenv("JOSM_RESOURCES"));
         addPossibleResourceDir(locations, System.getProperty("josm.resources"));
@@ -818,5 +817,5 @@
         initSuccessful = false;
         // get the preferences.
-        File prefDir = getPreferencesDirectory(false);
+        File prefDir = dirs.getPreferencesDirectory(false);
         if (prefDir.exists()) {
             if (!prefDir.isDirectory()) {
