diff --git a/lib/SimpleSAML/Locale/Localization.php b/lib/SimpleSAML/Locale/Localization.php
index d88127b04580fdda9fd63fe67d3ccfc052e230ab..88dad17e4cd5e8a4ccce1fb67e2562e93f42c29d 100644
--- a/lib/SimpleSAML/Locale/Localization.php
+++ b/lib/SimpleSAML/Locale/Localization.php
@@ -12,6 +12,7 @@ namespace SimpleSAML\Locale;
 
 use Gettext\Translations;
 use Gettext\Translator;
+use Gettext\TranslatorFunctions;
 use SimpleSAML\Configuration;
 use SimpleSAML\Logger;
 
@@ -196,7 +197,7 @@ class Localization
     private function setupTranslator(): void
     {
         $this->translator = new Translator();
-        $this->translator->register();
+        TranslatorFunctions::register($this->translator);
     }