Exceptions: change inheritance

ForbiddenRequestException is not instance of BadRequestException

On nette.org I found example ErrorPresenter
<?php
    public function renderDefault($exception)
    {
        if ($this->isAjax()) {
            $this->getPayload()->error = TRUE;
            $this->terminate();

        } elseif ($exception instanceof BadRequestException) {
            $this->setView('404');

        } else {
            $this->setView('500');
            Debug::processException($exception);
        }
    }
?>
If I decide to distinguish different Exceptions, it works, but not ForbiddenRequestException.
<?php
    public function renderDefault($exception)
    {
        if ($this->isAjax()) {
            $this->getPayload()->error = TRUE;
            $this->terminate();

        } elseif ($exception instanceof BadRequestException) {
            $this->setView('404');

        } elseif ($exception instanceof ForbiddenRequestException) { /*never, because is instance of BadRequestException */
            $this->setView('403'); //logout message,upgrade membership message etc.
        } else {
            $this->setView('500');
            Debug::processException($exception);
        }
    }
?>