diff --git a/src/components/views/elements/LanguageDropdown.js b/src/components/views/elements/LanguageDropdown.js
index 25a920d2e0..49f89aa469 100644
--- a/src/components/views/elements/LanguageDropdown.js
+++ b/src/components/views/elements/LanguageDropdown.js
@@ -40,14 +40,7 @@ export default class LanguageDropdown extends React.Component {
     }
 
     componentWillMount() {
-        languageHandler.getAllLanguageKeysFromJson().then((langKeys) => {
-            const langs = [];
-            langKeys.forEach((languageKey) => {
-                langs.push({
-                    value: languageKey,
-                    label: _t(languageKey)
-                });
-            });
+        languageHandler.getAllLanguagesFromJson().then((langs) => {
             langs.sort(function(a, b){
                 if(a.label < b.label) return -1;
                 if(a.label > b.label) return 1;
diff --git a/src/languageHandler.js b/src/languageHandler.js
index 1c3acab082..ab29dd926e 100644
--- a/src/languageHandler.js
+++ b/src/languageHandler.js
@@ -133,7 +133,7 @@ export function setLanguage(preferredLangs) {
             throw new Error("Unable to find an appropriate language");
         }
 
-        return getLanguage(i18nFolder + availLangs[langToUse]);
+        return getLanguage(i18nFolder + availLangs[langToUse].fileName);
     }).then((langData) => {
         counterpart.registerTranslations(langToUse, langData);
         counterpart.setLocale(langToUse);
@@ -142,16 +142,25 @@ export function setLanguage(preferredLangs) {
 
         // Set 'en' as fallback language:
         if (langToUse != "en") {
-            return getLanguage(i18nFolder + availLangs['en']);
+            return getLanguage(i18nFolder + availLangs['en'].fileName);
         }
     }).then((langData) => {
         if (langData) counterpart.registerTranslations('en', langData);
     });
 };
 
-export function getAllLanguageKeysFromJson() {
-    return getLangsJson().then((langs) => {
-        return Object.keys(langs);
+export function getAllLanguagesFromJson() {
+    return getLangsJson().then((langsObject) => {
+        var langs = [];
+        for (var langKey in langsObject) {
+            if (langsObject.hasOwnProperty(langKey)) {
+                langs.push({
+                    'value': langKey,
+                    'label': langsObject[langKey].label
+                });
+            }
+        }
+        return langs;
     });
 }