diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts
index 4a3e78aea4f5d6f9f0a75fe9499f87bd6635fc3f..30c065f96cd7ddfcc85a43906bc119ca631b6181 100644
--- a/src/app/services/formulaire.service.ts
+++ b/src/app/services/formulaire.service.ts
@@ -130,14 +130,6 @@ export class FormulaireService extends Observable {
                 && langCache[this.intlService.currentLanguage][textKey] !== undefined
             ) {
                 return langCache[this.intlService.currentLanguage][textKey];
-
-            } else if ( // try calculator type specific translation, but for default language
-                langCache
-                && langCache[this.appSetupService.fallbackLanguage]
-                && langCache[this.appSetupService.fallbackLanguage][textKey] !== undefined
-            ) {
-                return langCache[this.appSetupService.fallbackLanguage][textKey];
-
             }
         }
         // fallback to global (not calculator type specific) translation system
diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index ed8011d094735b5d8f5ab59d9b27163c1bdd91ac..96da8821b85bc994766ebcf33146676a03c25f68 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -21,9 +21,6 @@ export class I18nService extends Observable implements Observer {
     /** localized messages */
     private _Messages: StringMap;
 
-    /** localized messages in fallback language (the one in the config file) */
-    private _fallbackMessages: StringMap;
-
     /** to avoid loading language files multiple times */
     private _languageCache = {};
 
@@ -36,10 +33,6 @@ export class I18nService extends Observable implements Observer {
             fr: "Français",
             en: "English"
         };
-        // load fallback language messages once for all
-        this.httpGetMessages(this.applicationSetupService.fallbackLanguage).then((res: any) => {
-            this._fallbackMessages = res;
-        });
         // add language preferences observer
         this.applicationSetupService.addObserver(this);
     }
@@ -97,20 +90,14 @@ export class I18nService extends Observable implements Observer {
     }
 
     /**
-     * Loads the localisation file dedicated to calculator type ct; tries the current
-     * language then the fallback language; uses cache if available
+     * Loads the localisation file dedicated to calculator type ct; uses cache if available
      */
     public loadLocalisation(calc: CalculatorType): Promise<any> {
         const lang = this.currentLanguage;
         return this.loadLocalisationForLang(calc, lang).then((localisation) => {
             return localisation as StringMap;
         }).catch((e) => {
-            // try default lang (the one in the config file) ?
-            const fallbackLang = this.applicationSetupService.fallbackLanguage;
-            if (lang !== fallbackLang) {
-                console.error(`localisation for ${CalculatorType[calc]} not found, trying fallback language: ${fallbackLang}`);
-                return this.loadLocalisationForLang(calc, fallbackLang);
-            }
+            return "";
         });
     }
 
@@ -120,12 +107,8 @@ export class I18nService extends Observable implements Observer {
      */
     private loadLocalisationForLang(calc: CalculatorType, lang: string): Promise<any> {
         const ct = String(calc);
-        // already in cache ?
-        if (Object.keys(this._languageCache).includes(ct) && Object.keys(this._languageCache[calc]).includes(lang)) {
-            return new Promise((resolve) => {
-                resolve(this._languageCache[ct][lang]);
-            });
-        } else {
+        // if not already in cache
+        if (! Object.keys(this._languageCache).includes(ct) || ! Object.keys(this._languageCache[calc]).includes(lang)) {
             const f: string = FormulaireService.getConfigPathPrefix(calc) + lang + ".json";
             return this.httpService.httpGetRequestPromise(f).then((localisation) => {
                 this._languageCache[ct] = this._languageCache[ct] || {};
@@ -165,7 +148,6 @@ export class I18nService extends Observable implements Observer {
      * In production mode, looks in different messages collections :
      *  1. ${msg} if provided
      *  2. messages for current language
-     *  3. messages for fallback language
      *
      * In dev mode, looks only in 1. if provided, else only in 2. which makes missing
      * translations easier to detect
@@ -183,12 +165,6 @@ export class I18nService extends Observable implements Observer {
             if (this._Messages !== undefined && this._Messages["INFO_LIB_" + textKey.toUpperCase()] !== undefined) {
                 return decodeHtml(this._Messages["INFO_LIB_" + textKey.toUpperCase()]);
             }
-            if (!isDevMode()) {
-                // try fallback language before giving up
-                if (this._fallbackMessages[textKey] !== undefined) {
-                    return decodeHtml(this._fallbackMessages[textKey]);
-                }
-            }
             return `*** message not found: ${textKey} ***`;
         }
     }