diff --git a/lib/private/l10n.php b/lib/private/l10n.php
index 62827312d32ced31a230df00d89531122bab3c4b..9392cfac05bd30dcea20ee6691bfa1b51c5e3b85 100644
--- a/lib/private/l10n.php
+++ b/lib/private/l10n.php
@@ -458,6 +458,10 @@ class OC_L10N implements \OCP\IL10N {
 			} else {
 				$available = self::findAvailableLanguages($app);
 			}
+
+			// E.g. make sure that 'de' is before 'de_DE'.
+			sort($available);
+
 			$preferences = preg_split('/,\s*/', strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']));
 			foreach($preferences as $preference) {
 				list($prefered_language) = explode(';', $preference);