diff --git a/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/Reporting/ResolutionRepository.php b/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/Reporting/ResolutionRepository.php
index c123d653ab5dd8eb3b4b0b4df73a1ab4e16713c5..1c6e61759b5f6a27fad42f283f87b1629eea2788 100644
--- a/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/Reporting/ResolutionRepository.php
+++ b/typo3/sysext/core/Classes/Security/ContentSecurityPolicy/Reporting/ResolutionRepository.php
@@ -17,6 +17,7 @@ declare(strict_types=1);
 
 namespace TYPO3\CMS\Core\Security\ContentSecurityPolicy\Reporting;
 
+use Doctrine\DBAL\Exception\TableNotFoundException;
 use TYPO3\CMS\Core\Database\Connection;
 use TYPO3\CMS\Core\Database\ConnectionPool;
 use TYPO3\CMS\Core\Security\ContentSecurityPolicy\Scope;
@@ -55,13 +56,21 @@ class ResolutionRepository
      */
     public function findByScope(Scope $scope): array
     {
-        $result = $this->getConnection()->select(
-            ['*'],
-            self::TABLE_NAME,
-            ['scope' => (string)$scope],
-            [],
-            ['created' => 'asc']
-        );
+        try {
+            $result = $this->getConnection()->select(
+                ['*'],
+                self::TABLE_NAME,
+                ['scope' => (string)$scope],
+                [],
+                ['created' => 'asc']
+            );
+        } catch (TableNotFoundException) {
+            // We usually don't take care of non-existing table throughout the system.
+            // This one however can happen when major upgrading TYPO3 and calling the
+            // backend first time. It is fair to catch this case to prevent forcing admins
+            // to unlock standalone install tool or to use cli to fix db schema.
+            return [];
+        }
         return array_map(
             static fn (array $row) => Resolution::fromArray($row),
             $result->fetchAllAssociative()