diff --git a/lib/SimpleSAML/Locale/Localization.php b/lib/SimpleSAML/Locale/Localization.php
index e5111d3bf05029e07bdf4838bbeea05393a5a457..3afa95d482ca2cfa6205f9a1dd994776db64e2aa 100644
--- a/lib/SimpleSAML/Locale/Localization.php
+++ b/lib/SimpleSAML/Locale/Localization.php
@@ -130,9 +130,10 @@ class Localization
      *
      * @param string $domain Name of domain
      */
-    private function loadGettextGettextFromPO($domain = self::DEFAULT_DOMAIN) {
-        $t = new Translator();
-        $t->register();
+    private function loadGettextGettextFromPO($domain = self::DEFAULT_DOMAIN)
+    {
+        $this->translator = new Translator();
+        $this->translator->register();
         try {
             $langPath = $this->getLangPath($domain);
         } catch (\Exception $e) {
@@ -143,7 +144,7 @@ class Localization
         $poPath = $langPath.$poFile;
         if (file_exists($poPath) && is_readable($poPath)) {
             $translations = Translations::fromPoFile($poPath);
-            $t->loadTranslations($translations);
+            $this->translator->loadTranslations($translations);
         } else {
             $error = "Localization file '$poFile' not found in '$langPath', falling back to default";
             \SimpleSAML\Logger::error($_SERVER['PHP_SELF'].' - '.$error);