diff --git a/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php b/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php
index 27f2ea28169f5281b54290afa88d691436dae87e..ed8f97c997ae8764128fce33fd94e5afb7b43abe 100644
--- a/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php
+++ b/typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php
@@ -142,21 +142,26 @@ class BackendModuleRequestHandler implements RequestHandlerInterface
     {
         $moduleConfiguration = $this->getModuleConfiguration($moduleName);
 
+        /** @var Response $response */
+        $response = GeneralUtility::makeInstance(Response::class);
+
         // Check permissions and exit if the user has no permission for entry
         $this->backendUserAuthentication->modAccess($moduleConfiguration, true);
         $id = isset($this->request->getQueryParams()['id']) ? $this->request->getQueryParams()['id'] : $this->request->getParsedBody()['id'];
         if ($id && MathUtility::canBeInterpretedAsInteger($id)) {
-            // Check page access
             $permClause = $this->backendUserAuthentication->getPagePermsClause(true);
+            // Check page access
             $access = is_array(BackendUtility::readPageAccess((int)$id, $permClause));
             if (!$access) {
-                throw new \RuntimeException('You don\'t have access to this page', 1289917924);
+                // Check if page has been deleted
+                $deleteField = $GLOBALS['TCA']['pages']['ctrl']['delete'];
+                $pageInfo = BackendUtility::getRecord('pages', (int)$id, $deleteField, $permClause ? ' AND ' . $permClause : '', false);
+                if (!$pageInfo[$deleteField]) {
+                    throw new \RuntimeException('You don\'t have access to this page', 1289917924);
+                }
             }
         }
 
-        /** @var Response $response */
-        $response = GeneralUtility::makeInstance(Response::class);
-
         // Use Core Dispatching
         if (isset($moduleConfiguration['routeTarget'])) {
             $dispatcher = GeneralUtility::makeInstance(Dispatcher::class);
diff --git a/typo3/sysext/indexed_search/Classes/Controller/AdministrationController.php b/typo3/sysext/indexed_search/Classes/Controller/AdministrationController.php
index b132d7a95f5daba2d311310f38277c95577a576a..033050573e6b537794b0431fccbe36557dcca369 100644
--- a/typo3/sysext/indexed_search/Classes/Controller/AdministrationController.php
+++ b/typo3/sysext/indexed_search/Classes/Controller/AdministrationController.php
@@ -90,7 +90,9 @@ class AdministrationController extends ActionController
             parent::initializeView($view);
             $permissionClause = $this->getBackendUserAuthentication()->getPagePermsClause(1);
             $pageRecord = BackendUtility::readPageAccess($this->pageUid, $permissionClause);
-            $view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation($pageRecord);
+            if ($pageRecord) {
+                $view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation($pageRecord);
+            }
             $this->generateMenu();
             $this->view->getModuleTemplate()->setFlashMessageQueue($this->controllerContext->getFlashMessageQueue());
         }
diff --git a/typo3/sysext/workspaces/Classes/Controller/ReviewController.php b/typo3/sysext/workspaces/Classes/Controller/ReviewController.php
index 0e59ff7be88190f6408ded590c070d754c5ccb27..3b6c3cb1b6d4b7e39eeb968a6ad97366c273743d 100644
--- a/typo3/sysext/workspaces/Classes/Controller/ReviewController.php
+++ b/typo3/sysext/workspaces/Classes/Controller/ReviewController.php
@@ -73,8 +73,10 @@ class ReviewController extends AbstractController
         $this->view->assign('pageUid', GeneralUtility::_GP('id'));
         if (GeneralUtility::_GP('id')) {
             $pageRecord = BackendUtility::getRecord('pages', GeneralUtility::_GP('id'));
-            $this->view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation($pageRecord);
-            $this->view->assign('pageTitle', BackendUtility::getRecordTitle('pages', $pageRecord));
+            if ($pageRecord) {
+                $this->view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation($pageRecord);
+                $this->view->assign('pageTitle', BackendUtility::getRecordTitle('pages', $pageRecord));
+            }
         }
         $this->view->assign('showLegend', !($GLOBALS['BE_USER']->workspace === 0 && !$GLOBALS['BE_USER']->isAdmin()));
         $wsList = $wsService->getAvailableWorkspaces();