diff --git a/app/assets/javascripts/language_switcher/components/app.vue b/app/assets/javascripts/language_switcher/components/app.vue
index f00290d0e466e0381e74f31ecc01264c7c398a2d..22b0aeb98358e548f428efa9b76297d0e50406f1 100644
--- a/app/assets/javascripts/language_switcher/components/app.vue
+++ b/app/assets/javascripts/language_switcher/components/app.vue
@@ -3,7 +3,7 @@ import { GlCollapsibleListbox, GlLink } from '@gitlab/ui';
 import { __ } from '~/locale';
 import { setCookie } from '~/lib/utils/common_utils';
 import { helpPagePath } from '~/helpers/help_page_helper';
-import { PREFERRED_LANGUAGE_COOKIE_KEY } from '../constants';
+import { PREFERRED_LANGUAGE_COOKIE_KEY, EN } from '../constants';
 
 const HELP_TRANSLATE_MSG = __('Help translate to your language');
 const HELP_TRANSLATE_HREF = helpPagePath('/development/i18n/translation.md');
@@ -18,7 +18,7 @@ export default {
       default: [],
     },
     preferredLocale: {
-      default: {},
+      default: EN,
     },
   },
   data() {
diff --git a/app/assets/javascripts/language_switcher/constants.js b/app/assets/javascripts/language_switcher/constants.js
index b5c0613ac018131c6ab49b534e5d7c5aa4628934..83f5d79510fec5f54284be86e7b01e58ec801bec 100644
--- a/app/assets/javascripts/language_switcher/constants.js
+++ b/app/assets/javascripts/language_switcher/constants.js
@@ -1 +1,7 @@
 export const PREFERRED_LANGUAGE_COOKIE_KEY = 'preferred_language';
+
+export const EN = {
+  value: 'en',
+  // eslint-disable-next-line @gitlab/require-i18n-strings
+  text: 'English',
+};
diff --git a/app/assets/javascripts/language_switcher/index.js b/app/assets/javascripts/language_switcher/index.js
index b224e2510bbd42353ba5483da6a9d64c73674fa4..adb032701fb0f2b9e293bdd6ab42b5906b6e2c21 100644
--- a/app/assets/javascripts/language_switcher/index.js
+++ b/app/assets/javascripts/language_switcher/index.js
@@ -10,12 +10,14 @@ export const initLanguageSwitcher = () => {
   const preferredLangCode = getCookie(PREFERRED_LANGUAGE_COOKIE_KEY);
   const preferredLocale = locales.find((locale) => locale.value === preferredLangCode);
 
+  const provide = { locales };
+  if (preferredLocale) {
+    provide.preferredLocale = preferredLocale;
+  }
+
   return new Vue({
     el,
-    provide: {
-      locales,
-      preferredLocale,
-    },
+    provide,
     render(createElement) {
       return createElement(LanguageSwitcher);
     },
diff --git a/spec/frontend/language_switcher/components/app_spec.js b/spec/frontend/language_switcher/components/app_spec.js
index 036ff55fef70c6124121819f54e4b100bbc582ab..ca8c6c90bf1249f26a86894f723fe146bf44df0c 100644
--- a/spec/frontend/language_switcher/components/app_spec.js
+++ b/spec/frontend/language_switcher/components/app_spec.js
@@ -1,9 +1,9 @@
 import { GlLink } from '@gitlab/ui';
 import { mountExtended } from 'helpers/vue_test_utils_helper';
 import LanguageSwitcherApp from '~/language_switcher/components/app.vue';
-import { PREFERRED_LANGUAGE_COOKIE_KEY } from '~/language_switcher/constants';
+import { PREFERRED_LANGUAGE_COOKIE_KEY, EN } from '~/language_switcher/constants';
 import * as utils from '~/lib/utils/common_utils';
-import { locales, ES, EN } from '../mock_data';
+import { locales, ES } from '../mock_data';
 
 jest.mock('~/lib/utils/common_utils');
 
@@ -14,7 +14,6 @@ describe('<LanguageSwitcher />', () => {
     wrapper = mountExtended(LanguageSwitcherApp, {
       provide: {
         locales,
-        preferredLocale: EN,
         ...props,
       },
     });
@@ -28,9 +27,11 @@ describe('<LanguageSwitcher />', () => {
   const findLanguageDropdownItem = (code) => wrapper.findByTestId(`language_switcher_lang_${code}`);
   const findFooter = () => wrapper.findByTestId('footer');
 
-  it('preferred language', () => {
+  it('sets English as preferred language by default', () => {
     expect(getPreferredLanguage()).toBe(EN.text);
+  });
 
+  it('sets preferred locale when provided', () => {
     createComponent({
       preferredLocale: ES,
     });
diff --git a/spec/frontend/language_switcher/mock_data.js b/spec/frontend/language_switcher/mock_data.js
index 548bddf01738583e05705d3c20f7eb8100502c4e..70bcb225fe380ebf7cb8c1f6f6bda270882f1953 100644
--- a/spec/frontend/language_switcher/mock_data.js
+++ b/spec/frontend/language_switcher/mock_data.js
@@ -1,7 +1,4 @@
-export const EN = {
-  value: 'en',
-  text: 'English',
-};
+import { EN } from '~/language_switcher/constants';
 
 export const ZH_CN = {
   value: 'zh_CN',