diff --git a/src/Jackett/Content/custom.js b/src/Jackett/Content/custom.js
index f0bb94de78f2ac2bc7db20b6ded37f8216e03dc5..c9dbb49abd1dff617517073b3333ea90ecd5b502 100644
--- a/src/Jackett/Content/custom.js
+++ b/src/Jackett/Content/custom.js
@@ -1,4 +1,4 @@
-var basePath = "";
+var basePath = '';
 
 $(document).ready(function () {
     $.ajaxSetup({ cache: false });
@@ -7,7 +7,7 @@ $(document).ready(function () {
 
     bindUIButtons();
     loadJackettSettings();
-    reloadIndexers();
+   
 });
 
 function getJackettConfig(callback) {
@@ -26,6 +26,10 @@ function loadJackettSettings() {
         $("#jackett-port").val(data.config.port);
         $("#jackett-basepathoverride").val(data.config.basepathoverride);
         basePath = data.config.basepathoverride;
+        if (basePath === null || basePath === undefined) {
+            basePath = '';
+        }
+       
         $("#jackett-savedir").val(data.config.blackholedir);
         $("#jackett-allowext").attr('checked', data.config.external);
         $("#jackett-allowupdate").attr('checked', data.config.updatedisabled);
@@ -36,6 +40,8 @@ function loadJackettSettings() {
         if (password != null && password != '') {
             $("#logoutBtn").show();
         }
+
+        reloadIndexers();
     });
 }
 
@@ -56,8 +62,8 @@ function displayIndexers(items) {
     $('#unconfigured-indexers-template').empty();
     for (var i = 0; i < items.length; i++) {
         var item = items[i];
-        item.torznab_host = resolveUrl("/" + basePath + "/torznab/" + item.id);
-        item.potato_host = resolveUrl("/" + basePath + "/potato/" + item.id);
+        item.torznab_host = resolveUrl(basePath + "/torznab/" + item.id);
+        item.potato_host = resolveUrl(basePath + "/potato/" + item.id);
         if (item.configured)
             $('#indexers').append(indexerTemplate(item));
         else
diff --git a/src/Jackett/Content/index.html b/src/Jackett/Content/index.html
index 94fea8d8febf00b6c04aaf122c16cfb7fe8de0fa..04958f2e9666ab96cbd9eb444188eaa85b840362 100644
--- a/src/Jackett/Content/index.html
+++ b/src/Jackett/Content/index.html
@@ -86,7 +86,7 @@
         </div>
         <div class="input-area">
             <span class="input-header">Base Path Override: </span>
-            <input id="jackett-basepathoverride" class="form-control input-right" type="text" value="" placeholder="jackett/">
+            <input id="jackett-basepathoverride" class="form-control input-right" type="text" value="" placeholder="/jackett/">
         </div>
         <div class="input-area">
             <span class="input-header">Server port: </span>
diff --git a/src/Jackett/Utils/WebApiRootRedirectMiddleware.cs b/src/Jackett/Utils/WebApiRootRedirectMiddleware.cs
index fe4f7ac567c745f62817fb463678993d64516d99..df0aebb54287f9e19879a6fd1e60b9bd2f4ebd82 100644
--- a/src/Jackett/Utils/WebApiRootRedirectMiddleware.cs
+++ b/src/Jackett/Utils/WebApiRootRedirectMiddleware.cs
@@ -1,35 +1,42 @@
 using Jackett.Services;
-using Microsoft.Owin;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Jackett.Utils
-{
-    public class WebApiRootRedirectMiddleware : OwinMiddleware
-    {
-        public WebApiRootRedirectMiddleware(OwinMiddleware next)
-            : base(next)
-        {
-        }
-
-        public async override Task Invoke(IOwinContext context)
-        {
-            var url = context.Request.Uri;
-            if (string.IsNullOrWhiteSpace(url.AbsolutePath) || url.AbsolutePath == "/")
-            {
-                // 301 is the status code of permanent redirect
-                context.Response.StatusCode = 301;
-                var redir = Startup.BasePath + "Admin/Dashboard";
-                Engine.Logger.Info("redirecting to " + redir);
-                context.Response.Headers.Set("Location", redir);
-            }
-            else
-            {
-                await Next.Invoke(context);
-            }
-        }
-    }
+using Microsoft.Owin;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Jackett.Utils
+{
+    public class WebApiRootRedirectMiddleware : OwinMiddleware
+    {
+        public WebApiRootRedirectMiddleware(OwinMiddleware next)
+            : base(next)
+        {
+        }
+
+        public async override Task Invoke(IOwinContext context)
+        {
+            var url = context.Request.Uri;
+            if(context.Request.Path != null && context.Request.Path.HasValue && context.Request.Path.Value.StartsWith(Startup.BasePath))
+            {
+                context.Request.Path = new PathString(context.Request.Path.Value.Substring(Startup.BasePath.Length-1));
+            }
+
+            if (string.IsNullOrWhiteSpace(url.AbsolutePath) || url.AbsolutePath == "/")
+            {
+                // 301 is the status code of permanent redirect
+                context.Response.StatusCode = 301;
+                var redir = Startup.BasePath + "Admin/Dashboard";
+                Engine.Logger.Info("redirecting to " + redir);
+                context.Response.Headers.Set("Location", redir);
+            }
+            else
+            {
+
+
+                await Next.Invoke(context);
+            }
+        }
+    }
 }
\ No newline at end of file