diff --git a/typo3/sysext/core/Classes/Error/PageErrorHandler/PageContentErrorHandler.php b/typo3/sysext/core/Classes/Error/PageErrorHandler/PageContentErrorHandler.php
index db82b31263f64b18a126a76345741e14682cddf5..ae1ee2b73b4dd2e17e2357a94e3343ddb4dce318 100644
--- a/typo3/sysext/core/Classes/Error/PageErrorHandler/PageContentErrorHandler.php
+++ b/typo3/sysext/core/Classes/Error/PageErrorHandler/PageContentErrorHandler.php
@@ -321,6 +321,18 @@ class PageContentErrorHandler implements PageErrorHandlerInterface
             $language = $site->getDefaultLanguage();
         }
 
+        // Requested language or default language is disabled in current site => Fetch first "enabled" language
+        if (!$language->isEnabled()) {
+            $enabledLanguages = $site->getLanguages();
+            if ($enabledLanguages === []) {
+                throw new \RuntimeException(
+                    'Site ' . $site->getIdentifier() . ' does not define any enabled language.',
+                    1674487171
+                );
+            }
+            $language = reset($enabledLanguages);
+        }
+
         // Build Url
         $uri = $site->getRouter()->generateUri(
             (int)$urlParams['pageuid'],