diff --git a/web/gui/src/main/webapp/app/fw/remote/urlfn.js b/web/gui/src/main/webapp/app/fw/remote/urlfn.js
index 03ae09e..bf142d4 100644
--- a/web/gui/src/main/webapp/app/fw/remote/urlfn.js
+++ b/web/gui/src/main/webapp/app/fw/remote/urlfn.js
@@ -34,19 +34,20 @@
             }
 
             function urlBase(protocol, port, host) {
-                // A little bit of funky here. It is possible that ONOS sits behind a proxy
-                // and has an app prefix, e.g. http://host:port/my/app/onos/ui... This bit
-                // of regex grabs everything after the host:port and before the uiContext
-                // (/onos/ui/) and uses that as an app prefix by inserting it back into
-                // the WS URL, if no prefix, then no insert.
-                var prefix = ""
-                if ($loc.absUrl) {
-                    var p = $loc.absUrl().match(".*//[^/]+/(.+)"+uiContext);
-                    prefix = p ? '/' + p[1] : '';
-                }
+                // A little bit of funky here. It is possible that ONOS sits
+                // behind a proxy and has an app prefix, e.g.
+                //      http://host:port/my/app/onos/ui...
+                // This bit of regex grabs everything after the host:port and
+                // before the uiContext (/onos/ui/) and uses that as an app
+                // prefix by inserting it back into the WS URL.
+                // If no prefix, then no insert.
+
+                var match = $loc.absUrl().match('.*//[^/]+/(.+)' + uiContext),
+                    appPrefix = match ? '/' + match[1] : '';
 
                 return matchSecure(protocol) + '://' +
-                    (host || $loc.host()) + ':' + (port || $loc.port()) + prefix;
+                    (host || $loc.host()) + ':' +
+                    (port || $loc.port()) + appPrefix;
             }
 
             function httpPrefix(suffix) {
