Index: trunk/src/org/openstreetmap/josm/Main.java
===================================================================
--- trunk/src/org/openstreetmap/josm/Main.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/Main.java	(revision 7678)
@@ -1562,4 +1562,26 @@
 
     /**
+     * Replies the base URL for browsing information about a primitive.
+     * @return the base URL, i.e. https://www.openstreetmap.org
+     * @since 7678
+     */
+    public static String getBaseBrowseUrl() {
+        if (Main.pref != null)
+            return Main.pref.get("osm-browse.url", getOSMWebsite());
+        return getOSMWebsite();
+    }
+
+    /**
+     * Replies the base URL for browsing information about a user.
+     * @return the base URL, i.e. https://www.openstreetmap.org/user
+     * @since 7678
+     */
+    public static String getBaseUserUrl() {
+        if (Main.pref != null)
+            return Main.pref.get("osm-user.url", getOSMWebsite() + "/user");
+        return getOSMWebsite() + "/user";
+    }
+
+    /**
      * Determines if we are currently running on OSX.
      * @return {@code true} if we are currently running on OSX
Index: trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/actions/AbstractInfoAction.java	(revision 7678)
@@ -32,46 +32,4 @@
     public AbstractInfoAction(String name, String iconName, String tooltip, Shortcut shortcut, boolean register, String toolbarId, boolean installAdapters) {
         super(name, iconName, tooltip, shortcut, register, toolbarId, installAdapters);
-    }
-
-    /**
-     * Replies the base URL for browsing information about about a primitive.
-     *
-     * @return the base URL, i.e. https://www.openstreetmap.org
-     */
-    public static String getBaseBrowseUrl() {
-        String baseUrl = Main.pref.get("osm-server.url", OsmApi.DEFAULT_API_URL);
-        Pattern pattern = Pattern.compile("/api/?$");
-        String ret = pattern.matcher(baseUrl).replaceAll("");
-        if (ret.equals(baseUrl)) {
-            Main.warn(tr("Unexpected format of API base URL. Redirection to info or history page for OSM object will probably fail. API base URL is: ''{0}''",baseUrl));
-        }
-        for (String prefix : new String[]{"http://api.openstreetmap.org/", "https://api.openstreetmap.org/"}) {
-            if (ret.startsWith(prefix)) {
-                ret = Main.getOSMWebsite() + "/" + ret.substring(prefix.length());
-                break;
-            }
-        }
-        return ret;
-    }
-
-    /**
-     * Replies the base URL for browsing information about a user.
-     *
-     * @return the base URL, i.e. https://www.openstreetmap.org/user
-     */
-    public static String getBaseUserUrl() {
-        String baseUrl = Main.pref.get("osm-server.url", OsmApi.DEFAULT_API_URL);
-        Pattern pattern = Pattern.compile("/api/?$");
-        String ret =  pattern.matcher(baseUrl).replaceAll("/user");
-        if (ret.equals(baseUrl)) {
-            Main.warn(tr("Unexpected format of API base URL. Redirection to user page for OSM user will probably fail. API base URL is: ''{0}''",baseUrl));
-        }
-        for (String prefix : new String[]{"http://api.openstreetmap.org/", "https://api.openstreetmap.org/"}) {
-            if (ret.startsWith(prefix)) {
-                ret = Main.getOSMWebsite() + "/" + ret.substring(prefix.length());
-                break;
-            }
-        }
-        return ret;
     }
 
Index: trunk/src/org/openstreetmap/josm/actions/HistoryInfoWebAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/HistoryInfoWebAction.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/actions/HistoryInfoWebAction.java	(revision 7678)
@@ -7,4 +7,5 @@
 import java.awt.event.KeyEvent;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
@@ -25,5 +26,5 @@
     protected  String createInfoUrl(Object infoObject) {
         OsmPrimitive primitive = (OsmPrimitive) infoObject;
-        return getBaseBrowseUrl() + "/" + OsmPrimitiveType.from(primitive).getAPIName() + "/" + primitive.getId() + "/history";
+        return Main.getBaseBrowseUrl() + "/" + OsmPrimitiveType.from(primitive).getAPIName() + "/" + primitive.getId() + "/history";
     }
 }
Index: trunk/src/org/openstreetmap/josm/actions/InfoWebAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/InfoWebAction.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/actions/InfoWebAction.java	(revision 7678)
@@ -7,4 +7,5 @@
 import java.awt.event.KeyEvent;
 
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
 import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
@@ -25,5 +26,5 @@
     protected  String createInfoUrl(Object infoObject) {
         OsmPrimitive primitive = (OsmPrimitive)infoObject;
-        return getBaseBrowseUrl() + "/" + OsmPrimitiveType.from(primitive).getAPIName() + "/" + primitive.getId();
+        return Main.getBaseBrowseUrl() + "/" + OsmPrimitiveType.from(primitive).getAPIName() + "/" + primitive.getId();
     }
 }
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java	(revision 7678)
@@ -434,5 +434,5 @@
             if (sel.size() > 10 && ! AbstractInfoAction.confirmLaunchMultiple(sel.size()))
                 return;
-            String baseUrl = AbstractInfoAction.getBaseBrowseUrl();
+            String baseUrl = Main.getBaseBrowseUrl();
             for (Changeset cs: sel) {
                 String url = baseUrl + "/changeset/" + cs.getId();
Index: trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java	(revision 7678)
@@ -222,5 +222,5 @@
             User user = (User)infoObject;
             try {
-                return getBaseUserUrl() + "/" + URLEncoder.encode(user.getName(), "UTF-8").replaceAll("\\+", "%20");
+                return Main.getBaseUserUrl() + "/" + URLEncoder.encode(user.getName(), "UTF-8").replaceAll("\\+", "%20");
             } catch(UnsupportedEncodingException e) {
                 Main.error(e);
Index: trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/gui/history/VersionInfoPanel.java	(revision 7678)
@@ -20,5 +20,4 @@
 
 import org.openstreetmap.josm.Main;
-import org.openstreetmap.josm.actions.AbstractInfoAction;
 import org.openstreetmap.josm.data.osm.Changeset;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -169,5 +168,5 @@
 
     protected static String getUserUrl(String username) throws UnsupportedEncodingException {
-        return AbstractInfoAction.getBaseUserUrl() + "/" +  URLEncoder.encode(username, "UTF-8").replaceAll("\\+", "%20");
+        return Main.getBaseUserUrl() + "/" +  URLEncoder.encode(username, "UTF-8").replaceAll("\\+", "%20");
     }
 
@@ -181,5 +180,5 @@
         if (!model.isLatest(primitive)) {
             User user = primitive.getUser();
-            String url = AbstractInfoAction.getBaseBrowseUrl() + "/changeset/" + primitive.getChangesetId();
+            String url = Main.getBaseBrowseUrl() + "/changeset/" + primitive.getChangesetId();
             lblChangeset.setUrl(url);
             lblChangeset.setDescription(Long.toString(primitive.getChangesetId()));
Index: trunk/src/org/openstreetmap/josm/gui/history/VersionTable.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/history/VersionTable.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/gui/history/VersionTable.java	(revision 7678)
@@ -156,5 +156,5 @@
         protected String createInfoUrl(Object infoObject) {
             HistoryOsmPrimitive primitive = (HistoryOsmPrimitive) infoObject;
-            return getBaseBrowseUrl() + "/changeset/" + primitive.getChangesetId();
+            return Main.getBaseBrowseUrl() + "/changeset/" + primitive.getChangesetId();
         }
 
@@ -186,5 +186,5 @@
         protected String createInfoUrl(Object infoObject) {
             HistoryOsmPrimitive hp = (HistoryOsmPrimitive) infoObject;
-            return hp.getUser() == null ? null : getBaseUserUrl() + "/" + hp.getUser().getName();
+            return hp.getUser() == null ? null : Main.getBaseUserUrl() + "/" + hp.getUser().getName();
         }
 
Index: trunk/src/org/openstreetmap/josm/io/MessageNotifier.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/MessageNotifier.java	(revision 7676)
+++ trunk/src/org/openstreetmap/josm/io/MessageNotifier.java	(revision 7678)
@@ -67,5 +67,5 @@
                             JPanel panel = new JPanel(new GridBagLayout());
                             panel.add(new JLabel(trn("You have {0} unread message.", "You have {0} unread messages.", unread, unread)), GBC.eol());
-                            panel.add(new UrlLabel(Main.getOSMWebsite() + "/user/"+userInfo.getDisplayName()+"/inbox", tr("Click here to see your inbox.")), GBC.eol());
+                            panel.add(new UrlLabel(Main.getBaseUserUrl() + "/"+userInfo.getDisplayName()+"/inbox", tr("Click here to see your inbox.")), GBC.eol());
                             panel.setOpaque(false);
                             new Notification().setContent(panel)
