diff --git a/typo3/sysext/core/Classes/Localization/Locales.php b/typo3/sysext/core/Classes/Localization/Locales.php
index 977248bb4f96d20988852bd06c64b000125db9fc..0dcd7d6a5249fe56d759b36ddd91420ee2726aea 100644
--- a/typo3/sysext/core/Classes/Localization/Locales.php
+++ b/typo3/sysext/core/Classes/Localization/Locales.php
@@ -15,19 +15,17 @@ namespace TYPO3\CMS\Core\Localization;
  */
 
 use TYPO3\CMS\Core\Log\LogManager;
+use TYPO3\CMS\Core\SingletonInterface;
 use TYPO3\CMS\Core\Site\Entity\SiteLanguage;
-use TYPO3\CMS\Core\Utility\ArrayUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 
 /**
- * Locales.
- *
- * Used to define backend system languages
+ * Locales. Used to define TYPO3- system languages
  * When adding new keys, remember to:
  * - Update 'setup' extension labels (sysext/setup/Resources/Private/Language/locallang.xlf)
  * That's it!
  */
-class Locales implements \TYPO3\CMS\Core\SingletonInterface
+class Locales implements SingletonInterface
 {
     /**
      * Supported TYPO3 languages with locales
@@ -117,19 +115,16 @@ class Locales implements \TYPO3\CMS\Core\SingletonInterface
         'zh_Hans_CN' => 'ch' // Chinese (Simplified Han)
     ];
 
-    /**
-     * Mapping for backward compatibility codes
-     *
-     * @var array
-     */
-    protected $isoMapping;
-
     /**
      * Dependencies for locales
+     * This is a reverse mapping for the built-in languages within $this->languages that contain 5-letter codes.
      *
      * @var array
      */
-    protected $localeDependencies;
+    protected $localeDependencies = [
+        'pt_BR' => ['pt'],
+        'fr_CA' => ['fr']
+    ];
 
     /**
      * Initializes the languages.
@@ -137,24 +132,24 @@ class Locales implements \TYPO3\CMS\Core\SingletonInterface
      */
     public static function initialize(): Locales
     {
-        /** @var Locales $instance */
         $instance = GeneralUtility::makeInstance(self::class);
-        $instance->isoMapping = array_flip($instance->isoReverseMapping);
         // Allow user-defined locales
         foreach ($GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['user'] ?? [] as $locale => $name) {
             if (!isset($instance->languages[$locale])) {
                 $instance->languages[$locale] = $name;
             }
-        }
-        // Initializes the locale dependencies with TYPO3 supported locales
-        $instance->localeDependencies = [];
-        foreach ($instance->languages as $locale => $name) {
+            // Initializes the locale dependencies with TYPO3 supported locales
             if (strlen($locale) === 5) {
                 $instance->localeDependencies[$locale] = [substr($locale, 0, 2)];
             }
         }
         // Merge user-provided locale dependencies
-        ArrayUtility::mergeRecursiveWithOverrule($instance->localeDependencies, $GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['dependencies'] ?? []);
+        if (is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['dependencies'] ?? null)) {
+            $instance->localeDependencies = array_replace_recursive(
+                $instance->localeDependencies,
+                $GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['dependencies']
+            );
+        }
         return $instance;
     }
 
@@ -185,7 +180,7 @@ class Locales implements \TYPO3\CMS\Core\SingletonInterface
      */
     public function getIsoMapping()
     {
-        return $this->isoMapping;
+        return array_flip($this->isoReverseMapping);
     }
 
     /**