Index: src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/OpenPageAction.java
===================================================================
--- src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/OpenPageAction.java	(revision 36265)
+++ src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/OpenPageAction.java	(working copy)
@@ -6,8 +6,11 @@
 
 import java.awt.event.ActionEvent;
 import java.awt.event.KeyEvent;
+import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
+import java.net.HttpURLConnection;
+import java.net.URL;
 import java.util.Collection;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -97,9 +100,23 @@
         for (int j = 0; j < i; j++) {
             addr = addr.replace(keys[j], vals[j]);
         }
+
+        // Local url: 127.0.0.1:<port>/
+        Pattern pat_local = Pattern.compile("^http://127\\.0\\.0\\.1:\\d+/");
+        Matcher m_local = pat_local.matcher(addr);
+
         try {
+            if (m_local.find()) {
+                Logging.info("Opening local: " + addr);
+                URL url = new URL(addr);
+                HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
+                urlConn.setRequestMethod("GET");
+                if (urlConn.getResponseCode() != HttpURLConnection.HTTP_OK) {
+                    throw new IOException(". GET response:" + urlConn.getResponseCode());
+                }
+
             // See #12836 - do not load invalid history
-            if (!addr.endsWith("/0/history")) {
+            } else if (!addr.endsWith("/0/history")) {
                 OpenBrowser.displayUrl(addr);
             }
         } catch (Exception ex) {
