Index: src/org/openstreetmap/josm/actions/AboutAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/AboutAction.java	(revision 14685)
+++ src/org/openstreetmap/josm/actions/AboutAction.java	(working copy)
@@ -2,10 +2,13 @@
 package org.openstreetmap.josm.actions;
 
 import static org.openstreetmap.josm.tools.I18n.tr;
+import static org.openstreetmap.josm.tools.Utils.getSystemEnv;
+import static org.openstreetmap.josm.tools.Utils.getSystemProperty;
 
 import java.awt.Color;
 import java.awt.Dimension;
 import java.awt.FlowLayout;
+import java.awt.Font;
 import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
@@ -12,11 +15,15 @@
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.io.BufferedReader;
+import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 
+import javax.swing.AbstractAction;
+import javax.swing.Action;
 import javax.swing.BorderFactory;
+import javax.swing.JButton;
 import javax.swing.JLabel;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
@@ -112,6 +119,13 @@
         info.add(logos, GBC.eol().insets(0, 10, 0, 0));
         info.add(GBC.glue(0, 5), GBC.eol());
 
+        JPanel inst = new JPanel(new GridBagLayout());
+        addInstLine(inst, getSystemEnv("JAVA_HOME"));
+        addInstLine(inst, getSystemProperty("java.home"));
+        addInstLine(inst, Config.getDirs().getPreferencesDirectory(false).toString());
+        addInstLine(inst, Config.getDirs().getUserDataDirectory(false).toString());
+        addInstLine(inst, Config.getDirs().getCacheDirectory(false).toString());
+
         about.addTab(tr("Info"), info);
         about.addTab(tr("Readme"), createScrollPane(readme));
         about.addTab(tr("Revision"), createScrollPane(revision));
@@ -118,6 +132,7 @@
         about.addTab(tr("Contribution"), createScrollPane(contribution));
         about.addTab(tr("License"), createScrollPane(license));
         about.addTab(tr("Plugins"), new JScrollPane(PluginHandler.getInfoPanel()));
+        about.addTab(tr("Installation Details"), inst);
 
         // Get the list of Launchpad contributors using customary msgid “translator-credits”
         String translators = tr("translator-credits");
@@ -133,15 +148,59 @@
         panel.add(about, GBC.std().fill());
 
         GuiHelper.prepareResizeableOptionPane(panel, panel.getPreferredSize());
-        int ret = new ExtendedDialog(MainApplication.getMainFrame(), tr("About JOSM..."), tr("OK"), tr("Report bug"))
-            .setButtonIcons("ok", "bug")
-            .setContent(panel, false)
-            .showDialog().getValue();
+        ExtendedDialog dlg = new ExtendedDialog(MainApplication.getMainFrame(), tr("About JOSM..."), tr("OK"), tr("Report bug"));
+        int ret = dlg.setButtonIcons("ok", "bug")
+                .setContent(panel, false)
+                .showDialog().getValue();
         if (2 == ret) {
             MainApplication.getMenu().reportbug.actionPerformed(null);
         }
+        GuiHelper.destroyComponents(panel, false);
+        dlg.dispose();
     }
 
+    private static class OpenDirAction extends AbstractAction {
+        final String dir;
+
+        OpenDirAction(String dir) {
+            super();
+            putValue(Action.NAME, "...");
+            this.dir = dir;
+            setEnabled(dir != null && new File(dir).isDirectory());
+        }
+
+        @Override
+        public void actionPerformed(ActionEvent e) {
+            OpenBrowser.displayUrl(new File(dir).toURI());
+        }
+    }
+
+    /**
+     * Add line to installation details showing symbolic name used in status report and actual directory.
+     * @param inst the panel
+     * @param dir the actual path represented by a symbol
+     */
+    private void addInstLine(JPanel inst, String dir) {
+        JLabel symbol = new JLabel(ShowStatusReportAction.paramCleanup(dir));
+        symbol.setFont(GuiHelper.getMonospacedFont(symbol));
+        inst.add(symbol, GBC.std().insets(5, 0, 0, 0));
+        inst.add(GBC.glue(10, 0), GBC.std());
+        JosmTextArea dirLabel = new JosmTextArea();
+        if (dir != null && !dir.isEmpty()) {
+            dirLabel.setText(dir);
+            dirLabel.setEditable(false);
+        } else {
+            dirLabel.setText("(unset)");
+            dirLabel.setFont(dirLabel.getFont().deriveFont(Font.ITALIC));
+        }
+        dirLabel.setFont(GuiHelper.getMonospacedFont(dirLabel));
+        dirLabel.setOpaque(false);
+        inst.add(dirLabel, GBC.std().fill(GBC.HORIZONTAL));
+        JButton btn = new JButton(new OpenDirAction(dir));
+        btn.setToolTipText(tr("Open directory"));
+        inst.add(btn, GBC.eol().insets(0, 0, 5, 0));
+    }
+
     private static JLabel createImageLink(String tooltip, String icon, final String link) {
         JLabel label = new JLabel(ImageProvider.get("dialogs/about", icon, ImageSizes.LARGEICON));
         label.setToolTipText(tooltip);
Index: src/org/openstreetmap/josm/actions/ShowStatusReportAction.java
===================================================================
--- src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 14685)
+++ src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(working copy)
@@ -223,7 +223,7 @@
      * @param param parameter to cleanup
      * @return shortened/anonymized parameter
      */
-    private static String paramCleanup(String param) {
+    public 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");
@@ -241,7 +241,6 @@
 
         String val = param;
         val = paramReplace(val, envJavaHome, envJavaHomeAlt);
-        val = paramReplace(val, envJavaHome, envJavaHomeAlt);
         val = paramReplace(val, propJavaHome, propJavaHomeAlt);
         val = paramReplace(val, prefDir, prefDirAlt);
         val = paramReplace(val, userDataDir, userDataDirAlt);
