diff --git a/lib/classes/JsonApi/Middlewares/Language.php b/lib/classes/JsonApi/Middlewares/Language.php
index 8843445665d6bfc7b7f44645b3f5c9b779aac479..4cde6997357069d4fa57f02a90d2a3520205bf9f 100644
--- a/lib/classes/JsonApi/Middlewares/Language.php
+++ b/lib/classes/JsonApi/Middlewares/Language.php
@@ -23,14 +23,23 @@ class Language
     public function __invoke(Request $request, RequestHandler $handler)
     {
         $language = $this->detectValidLanguageFromRequest($request);
+        $language_before = false;
 
         // Set language if detected
         if ($language) {
+            $language_before = $_SESSION['_language'];
             $_SESSION['_language'] = $language;
             setTempLanguage(false, $language);
         }
 
-        return $handler->handle($request);
+        $response =  $handler->handle($request);
+
+        if ($language) {
+            $_SESSION['_language'] = $language_before;
+            restoreLanguage();
+        }
+
+        return $response;
     }
 
     /**