diff --git a/lib/private/L10N/Factory.php b/lib/private/L10N/Factory.php
index 8f157d9c0bb17c10f440fa3d25dbeeaf1f158d87..08b92657a1b1e85da81dc08f03a12d669a1346a1 100644
--- a/lib/private/L10N/Factory.php
+++ b/lib/private/L10N/Factory.php
@@ -263,7 +263,7 @@ class Factory implements IFactory {
 			}
 		}
 
-		if (!$this->requestLanguage) {
+		if ($app === null && !$this->requestLanguage) {
 			$this->requestLanguage = 'en';
 		}
 		return 'en'; // Last try: English
diff --git a/tests/lib/l10n/factorytest.php b/tests/lib/l10n/factorytest.php
index e4c0eab2e6a92709064019d4b54a55ff614e7142..98bb5ec13c9895b0280d812887880269ea847c4c 100644
--- a/tests/lib/l10n/factorytest.php
+++ b/tests/lib/l10n/factorytest.php
@@ -343,6 +343,15 @@ class FactoryTest extends TestCase {
 			[null, 'de', 'ru', ['de'], 'de', 'ru'],
 			[null, 'de,en', 'ru', ['de'], 'de', 'ru'],
 			[null, 'de-DE,en-US;q=0.8,en;q=0.6', 'ru', ['de'], 'de', 'ru'],
+
+			// Request lang should not be set for apps: Language is available
+			['files_pdfviewer', 'de', null, ['de'], 'de', ''],
+			['files_pdfviewer', 'de,en', null, ['de'], 'de', ''],
+			['files_pdfviewer', 'de-DE,en-US;q=0.8,en;q=0.6', null, ['de'], 'de', ''],
+			// Request lang should not be set for apps: Language is not available
+			['files_pdfviewer', 'de', null, ['ru'], 'en', ''],
+			['files_pdfviewer', 'de,en', null, ['ru', 'en'], 'en', ''],
+			['files_pdfviewer', 'de-DE,en-US;q=0.8,en;q=0.6', null, ['ru', 'en'], 'en', ''],
 		];
 	}