Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 11261)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 11262)
@@ -1392,4 +1392,17 @@
 
     /**
+     * Returns the OSM website URL depending on the selected {@link OsmApi}.
+     * @return the OSM website URL depending on the selected {@link OsmApi}
+     */
+    private static String getOSMWebsiteDependingOnSelectedApi() {
+        final String api = OsmApi.getOsmApi().getServerUrl();
+        if (OsmApi.DEFAULT_API_URL.equals(api)) {
+            return getOSMWebsite();
+        } else {
+            return api.replaceAll("/api$", "");
+        }
+    }
+
+    /**
      * Replies the base URL for browsing information about a primitive.
      * @return the base URL, i.e. https://www.openstreetmap.org
@@ -1398,6 +1411,6 @@
     public static String getBaseBrowseUrl() {
         if (Main.pref != null)
-            return Main.pref.get("osm-browse.url", getOSMWebsite());
-        return getOSMWebsite();
+            return Main.pref.get("osm-browse.url", getOSMWebsiteDependingOnSelectedApi());
+        return getOSMWebsiteDependingOnSelectedApi();
     }
 
@@ -1409,6 +1422,6 @@
     public static String getBaseUserUrl() {
         if (Main.pref != null)
-            return Main.pref.get("osm-user.url", getOSMWebsite() + "/user");
-        return getOSMWebsite() + "/user";
+            return Main.pref.get("osm-user.url", getOSMWebsiteDependingOnSelectedApi() + "/user");
+        return getOSMWebsiteDependingOnSelectedApi() + "/user";
     }
 
Index: trunk/src/org/openstreetmap/josm/io/OsmServerHistoryReader.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmServerHistoryReader.java	(revision 11261)
+++ trunk/src/org/openstreetmap/josm/io/OsmServerHistoryReader.java	(revision 11262)
@@ -61,9 +61,7 @@
         try {
             progressMonitor.indeterminateSubTask(tr("Contacting OSM Server..."));
-            StringBuilder sb = new StringBuilder();
-            sb.append(primitiveType.getAPIName())
-            .append('/').append(id).append("/history");
+            final String urlStr = primitiveType.getAPIName() + '/' + id + "/history";
 
-            try (InputStream in = getInputStream(sb.toString(), progressMonitor.createSubTaskMonitor(1, true))) {
+            try (InputStream in = getInputStream(urlStr, progressMonitor.createSubTaskMonitor(1, true))) {
                 if (in == null)
                     return null;
