--- old/ErrorDispatcherValve.java 2002-09-23 11:23:16.000000000 -0400 +++ new/ErrorDispatcherValve.java 2002-09-27 14:41:27.000000000 -0400 @@ -217,11 +217,14 @@ return; Throwable realError = throwable; - - if (realError instanceof ServletException) { - realError = ((ServletException) realError).getRootCause(); - if (realError == null) { - realError = throwable; + ErrorPage errorPage = null; + if (realError instanceof ServletException) { + errorPage = findErrorPage(context, (ServletException) realError); + if (errorPage == null){ + realError = ((ServletException) realError).getRootCause(); + if (realError == null) { + realError = throwable; + } } }