diff --git a/Microsoft.AspNet.Mvc/ActionResultFactory.cs b/Microsoft.AspNet.Mvc/ActionResultFactory.cs index 70b69165c1..a286be13be 100644 --- a/Microsoft.AspNet.Mvc/ActionResultFactory.cs +++ b/Microsoft.AspNet.Mvc/ActionResultFactory.cs @@ -7,13 +7,6 @@ namespace Microsoft.AspNet.Mvc { public IActionResult CreateActionResult(object actionReturnValue) { - var actionResult = actionReturnValue as IActionResult; - - if (actionResult != null) - { - return actionResult; - } - var responseMessage = actionReturnValue as HttpResponseMessage; if (responseMessage != null) { diff --git a/Microsoft.AspNet.Mvc/ControllerActionInvoker.cs b/Microsoft.AspNet.Mvc/ControllerActionInvoker.cs index 360195b216..909a525054 100644 --- a/Microsoft.AspNet.Mvc/ControllerActionInvoker.cs +++ b/Microsoft.AspNet.Mvc/ControllerActionInvoker.cs @@ -47,7 +47,8 @@ namespace Microsoft.AspNet.Mvc object actionReturnValue = method.Invoke(controller, null); - IActionResult actionResult = _actionResultFactory.CreateActionResult(actionReturnValue); + // If it's not already an IActionResult then call into the factory + var actionResult = actionReturnValue as IActionResult ?? _actionResultFactory.CreateActionResult(actionReturnValue); return actionResult.ExecuteResultAsync(_requestContext); }