diff --git a/src/Umbraco.Web/Editors/BackOfficeController.cs b/src/Umbraco.Web/Editors/BackOfficeController.cs
index 61264a743a..e77a1b70f2 100644
--- a/src/Umbraco.Web/Editors/BackOfficeController.cs
+++ b/src/Umbraco.Web/Editors/BackOfficeController.cs
@@ -145,6 +145,7 @@ namespace Umbraco.Web.Editors
///
///
[HttpGet]
+ [StatusCodeResult(System.Net.HttpStatusCode.ServiceUnavailable)]
public async Task AuthorizeUpgrade()
{
return await RenderDefaultOrProcessExternalLoginAsync(
diff --git a/src/Umbraco.Web/Install/Controllers/InstallController.cs b/src/Umbraco.Web/Install/Controllers/InstallController.cs
index f45e7a0ae0..902ebbcd53 100644
--- a/src/Umbraco.Web/Install/Controllers/InstallController.cs
+++ b/src/Umbraco.Web/Install/Controllers/InstallController.cs
@@ -6,6 +6,7 @@ using Umbraco.Core.IO;
using Umbraco.Core.Logging;
using Umbraco.Core.Migrations.Install;
using Umbraco.Web.JavaScript;
+using Umbraco.Web.Mvc;
using Umbraco.Web.Security;
namespace Umbraco.Web.Install.Controllers
@@ -35,6 +36,7 @@ namespace Umbraco.Web.Install.Controllers
}
[HttpGet]
+ [StatusCodeResult(System.Net.HttpStatusCode.ServiceUnavailable)]
public ActionResult Index()
{
if (_runtime.Level == RuntimeLevel.Run)
diff --git a/src/Umbraco.Web/Mvc/StatusCodeFilterAttribute.cs b/src/Umbraco.Web/Mvc/StatusCodeFilterAttribute.cs
new file mode 100644
index 0000000000..24a41519f7
--- /dev/null
+++ b/src/Umbraco.Web/Mvc/StatusCodeFilterAttribute.cs
@@ -0,0 +1,25 @@
+using System.Net;
+using System.Web.Mvc;
+
+namespace Umbraco.Web.Mvc
+{
+ ///
+ /// Forces the response to have a specific http status code
+ ///
+ internal class StatusCodeResultAttribute : ActionFilterAttribute
+ {
+ private readonly HttpStatusCode _statusCode;
+
+ public StatusCodeResultAttribute(HttpStatusCode statusCode)
+ {
+ _statusCode = statusCode;
+ }
+
+ public override void OnActionExecuted(ActionExecutedContext filterContext)
+ {
+ base.OnActionExecuted(filterContext);
+
+ filterContext.HttpContext.Response.StatusCode = (int)_statusCode;
+ }
+ }
+}
diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj
index 166eeba352..a0ce64943a 100755
--- a/src/Umbraco.Web/Umbraco.Web.csproj
+++ b/src/Umbraco.Web/Umbraco.Web.csproj
@@ -222,6 +222,7 @@
+