diff --git a/lib/SimpleSAML/Locale/Localization.php b/lib/SimpleSAML/Locale/Localization.php
index 785bce522a6f71ae6f0a8a06db50817f62c5a4d1..9342ee538194e12c69389b703d4ceb064c61bb9b 100644
--- a/lib/SimpleSAML/Locale/Localization.php
+++ b/lib/SimpleSAML/Locale/Localization.php
@@ -243,7 +243,7 @@ class Localization
         if (file_exists($poPath) && is_readable($poPath)) {
             $poLoader = new PoLoader();
             $translations = $poLoader->loadFile($poPath);
-            $this->translator->createFromTranslations($translations);
+            $this->translator = Translator::createFromTranslations($translations);
         } else {
             $error = "Localization file '$poFile' not found in '$langPath', falling back to default";
             Logger::debug($_SERVER['PHP_SELF'] . ' - ' . $error);