 <p>Ok, got it working.</p> <p>When using Session State Server you have to call Server.ClearError() within Application_Error, otherwise the Request will be terminated and Session state will not be written.</p> <pre><code>void Application_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); HttpContext.Current.Session["Error"] = ex.Message; Response.Redirect("error.aspx",false); Server.ClearError(); } </code></pre>