Index: trunk/src/org/openstreetmap/josm/actions/AboutAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 14700)
+++ trunk/src/org/openstreetmap/josm/actions/AboutAction.java	(revision 14701)
@@ -3,5 +3,4 @@
 
 import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.tools.Utils.getSystemEnv;
 import static org.openstreetmap.josm.tools.Utils.getSystemProperty;
 
@@ -20,4 +19,5 @@
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.util.Map.Entry;
 
 import javax.swing.AbstractAction;
@@ -31,4 +31,5 @@
 import javax.swing.JTextArea;
 
+import org.openstreetmap.josm.data.Preferences;
 import org.openstreetmap.josm.data.Version;
 import org.openstreetmap.josm.gui.ExtendedDialog;
@@ -45,5 +46,4 @@
 import org.openstreetmap.josm.tools.Logging;
 import org.openstreetmap.josm.tools.OpenBrowser;
-import org.openstreetmap.josm.tools.PlatformManager;
 import org.openstreetmap.josm.tools.Shortcut;
 import org.openstreetmap.josm.tools.Utils;
@@ -122,9 +122,13 @@
 
         JPanel inst = new JPanel(new GridBagLayout());
-        addInstallationLine(inst, getSystemEnv("JAVA_HOME"), PlatformManager.isPlatformWindows() ? "%JAVA_HOME%" : "${JAVA_HOME}");
-        addInstallationLine(inst, getSystemProperty("java.home"), "java.home");
-        addInstallationLine(inst, Config.getDirs().getPreferencesDirectory(false).toString(), null);
-        addInstallationLine(inst, Config.getDirs().getUserDataDirectory(false).toString(), null);
-        addInstallationLine(inst, Config.getDirs().getCacheDirectory(false).toString(), null);
+        final String pathToPreferences = ShowStatusReportAction
+                .paramCleanup(Preferences.main().getPreferenceFile().getAbsolutePath());
+        inst.add(new JLabel(tr("Preferences are stored in {0}", pathToPreferences)), GBC.eol().insets(0, 0, 0, 10));
+        inst.add(new JLabel(tr("Symbolic names for directories and the actual paths:")),
+                GBC.eol().insets(0, 0, 0, 10));
+        for (Entry<String, String> entry : ShowStatusReportAction.getAnonimicDirectorySymbolMap().entrySet()) {
+            addInstallationLine(inst, entry.getValue(), entry.getKey());
+        }
+
 
         about.addTab(tr("Info"), info);
@@ -184,18 +188,16 @@
      */
     private void addInstallationLine(JPanel inst, String dir, String source) {
-        if (dir == null && source == null)
+        if (source == null)
             return;
-        JLabel symbol = new JLabel();
+        JLabel symbol = new JLabel(source);
+        symbol.setFont(GuiHelper.getMonospacedFont(symbol));
         JosmTextArea dirLabel = new JosmTextArea();
         if (dir != null && !dir.isEmpty()) {
-            symbol.setText(ShowStatusReportAction.paramCleanup(dir));
             dirLabel.setText(dir);
             dirLabel.setEditable(false);
         } else {
-            symbol.setText(source);
             dirLabel.setText(tr("(unset)"));
             dirLabel.setFont(dirLabel.getFont().deriveFont(Font.ITALIC));
         }
-        symbol.setFont(GuiHelper.getMonospacedFont(symbol));
         inst.add(symbol, GBC.std().insets(5, 0, 0, 0));
         inst.add(GBC.glue(10, 0), GBC.std());
Index: trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 14700)
+++ trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 14701)
@@ -16,7 +16,10 @@
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.ListIterator;
 import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
 import java.util.Set;
 import java.util.stream.Collectors;
@@ -220,4 +223,20 @@
 
     /**
+     * Fill map with anonymized name to the actual used path.
+     * @return map that maps shortened name to full directory path
+     */
+    static Map<String, String> getAnonimicDirectorySymbolMap() {
+        /** maps the anonymized name to the actual used path */
+        Map<String, String> map = new LinkedHashMap<>();
+        map.put(PlatformManager.isPlatformWindows() ? "%JAVA_HOME%" : "${JAVA_HOME}", getSystemEnv("JAVA_HOME"));
+        map.put("<java.home>", getSystemProperty("java.home"));
+        map.put("<josm.pref>", Config.getDirs().getPreferencesDirectory(false).toString());
+        map.put("<josm.userdata>", Config.getDirs().getUserDataDirectory(false).toString());
+        map.put("<josm.cache>", Config.getDirs().getCacheDirectory(false).toString());
+        map.put(PlatformManager.isPlatformWindows() ? "%UserProfile%" : "${HOME}", getSystemProperty("user.home"));
+        return map;
+    }
+
+    /**
      * Shortens and removes private informations from a parameter used for status report.
      * @param param parameter to cleanup
@@ -225,26 +244,11 @@
      */
     static String paramCleanup(String param) {
-        final String envJavaHome = getSystemEnv("JAVA_HOME");
-        final String envJavaHomeAlt = PlatformManager.isPlatformWindows() ? "%JAVA_HOME%" : "${JAVA_HOME}";
-        final String propJavaHome = getSystemProperty("java.home");
-        final String propJavaHomeAlt = "<java.home>";
-        final String prefDir = Config.getDirs().getPreferencesDirectory(false).toString();
-        final String prefDirAlt = "<josm.pref>";
-        final String userDataDir = Config.getDirs().getUserDataDirectory(false).toString();
-        final String userDataDirAlt = "<josm.userdata>";
-        final String userCacheDir = Config.getDirs().getCacheDirectory(false).toString();
-        final String userCacheDirAlt = "<josm.cache>";
-        final String userHomeDir = getSystemProperty("user.home");
-        final String userHomeDirAlt = PlatformManager.isPlatformWindows() ? "%UserProfile%" : "${HOME}";
         final String userName = getSystemProperty("user.name");
         final String userNameAlt = "<user.name>";
 
         String val = param;
-        val = paramReplace(val, envJavaHome, envJavaHomeAlt);
-        val = paramReplace(val, propJavaHome, propJavaHomeAlt);
-        val = paramReplace(val, prefDir, prefDirAlt);
-        val = paramReplace(val, userDataDir, userDataDirAlt);
-        val = paramReplace(val, userCacheDir, userCacheDirAlt);
-        val = paramReplace(val, userHomeDir, userHomeDirAlt);
+        for (Entry<String, String> entry : getAnonimicDirectorySymbolMap().entrySet()) {
+            val = paramReplace(val, entry.getValue(), entry.getKey());
+        }
         if (userName != null && userName.length() >= 3) {
             val = paramReplace(val, userName, userNameAlt);
@@ -303,6 +307,7 @@
             case 1: ta.copyToClipboard(); break;
             case 2: BugReportSender.reportBug(reportHeader); break;
-            default: // Do nothing
-        }
+            default: // do nothing
+        }
+        GuiHelper.destroyComponents(ed, false);
     }
 }
