I see the issue that you described. Actually the problem is in the `Sitecore.Shell.Applications.Workbox.WorkboxForm` class which represents the *Workbox Form*. There are two methods: /// <summary>Refreshes the page.</summary> protected virtual void Refresh() { this.Refresh((Dictionary<string, string>) null); } /// <summary>Refreshes the page.</summary> /// <param name="urlArguments">The URL arguments.</param> protected void Refresh(Dictionary<string, string> urlArguments) { UrlString urlString = new UrlString(WebUtil.GetRawUrl()); urlString["reload"] = "1"; if (urlArguments != null) { foreach (KeyValuePair<string, string> urlArgument in urlArguments) urlString[urlArgument.Key] = urlArgument.Value; } Context.ClientPage.ClientResponse.SetLocation(WebUtil.GetFullUrl(urlString.ToString())); } In general, the problem is in the `Context.ClientPage.ClientResponse.SetLocation(WebUtil.GetFullUrl(urlString.ToString()))` line. And is in `WebUtil.GetFullUrl(urlString.ToString())` method particularly. This method always returns the URL with the port extension. Then, looking at details of `GetFullUrl` method where we can find that it calls GetServerUrl: public static string GetFullUrl(string url) { Assert.ArgumentNotNull((object) url, nameof (url)); return WebUtil.GetFullUrl(url, WebUtil.GetServerUrl()); } The `GetServerUrl` method looks like: public static string GetServerUrl() { return WebUtil.GetServerUrl(false); } Where the `false`, is `forcePort` parameter, which is always 'false'. Let's skip a calls chain and have a look at the final view of `GetServerUrl` method: public static string GetServerUrl(Uri url, bool forcePort) { if (url == (Uri) null) return string.Empty; string scheme = url.Scheme; string host = url.Host; string str1 = url.Port.ToString(); string str2 = string.Format("{0}://{1}", (object) scheme, (object) host); if (forcePort || str1 != "80") str2 += string.Format(":{0}", (object) str1); return str2; } Looking at this method we can see that even `forcePort` is `true`, the URL will still include port as it is not equal to 80. So, it is why you always have the port in your URL. You can create your `CustomWorkboxform` class and inherit it from the 'WorkboxForm'. The try to override `protected new void Refresh(Dictionary<string, string> urlArguments)` method (using `new` keyword as this method is not virtual). Then you will have to update `Workbox.xml` with new CustomWorkboxForm code behind implementation (\sitecore\shell\Applications\Workbox\Workbox.xml). There can be some another difficulties with overlapping other methods. But idea might work!