diff --git a/app/controllers/concerns/preferred_language_switcher.rb b/app/controllers/concerns/preferred_language_switcher.rb
index 5ac75e40b0402288345bb66a39ed2b213c667769..872652100c9b84f0317fcd245f9883edce4f1b44 100644
--- a/app/controllers/concerns/preferred_language_switcher.rb
+++ b/app/controllers/concerns/preferred_language_switcher.rb
@@ -2,8 +2,6 @@
 
 module PreferredLanguageSwitcher
   extend ActiveSupport::Concern
-  include Gitlab::Utils::StrongMemoize
-  include PreferredLanguageSwitcherHelper
 
   private
 
@@ -13,36 +11,8 @@ def init_preferred_language
 
   def preferred_language
     cookies[:preferred_language].presence_in(Gitlab::I18n.available_locales) ||
-      selectable_language(marketing_site_language) ||
-      selectable_language(browser_languages) ||
       Gitlab::CurrentSettings.default_preferred_language
   end
-
-  def selectable_language(language_options)
-    language_options.find { |lan| ordered_selectable_locales_codes.include?(lan) }
-  end
-
-  def browser_languages
-    http_language_header = request.env['HTTP_ACCEPT_LANGUAGE']
-    return [] unless http_language_header
-
-    http_language_header.tr!('-', '_').split(%r{[;,]}).reject { |str| str.start_with?('q') }
-  end
-  strong_memoize_attr :browser_languages
-
-  def marketing_site_language
-    return [] unless params[:glm_source]
-
-    locale = params[:glm_source].scan(%r{(\w{2})-(\w{2})/}).flatten
-
-    return [] if locale.empty?
-
-    [locale[0], "#{locale[0]}_#{locale[1]}"]
-  end
-
-  def ordered_selectable_locales_codes
-    ordered_selectable_locales.map { |locale| locale[:value] } # rubocop:disable Rails/Pluck
-  end
 end
 
 PreferredLanguageSwitcher.prepend_mod
diff --git a/spec/controllers/concerns/preferred_language_switcher_spec.rb b/spec/controllers/concerns/preferred_language_switcher_spec.rb
index 1cec62a5f3439f77c476d7d043b95116f1578ba7..40d6ac10c379ced95f4e82ca151acaacd495c7c9 100644
--- a/spec/controllers/concerns/preferred_language_switcher_spec.rb
+++ b/spec/controllers/concerns/preferred_language_switcher_spec.rb
@@ -14,52 +14,13 @@ def new
   end
 
   context 'when first visit' do
-    let(:glm_source) { 'about.gitlab.com' }
-    let(:accept_language_header) { nil }
-
     before do
-      request.env['HTTP_ACCEPT_LANGUAGE'] = accept_language_header.dup
-
-      get :new, params: { glm_source: glm_source }
+      get :new
     end
 
     it 'sets preferred_language to default' do
       expect(cookies[:preferred_language]).to eq Gitlab::CurrentSettings.default_preferred_language
     end
-
-    context 'when language param is valid' do
-      let(:glm_source) { 'about.gitlab.com/fr-fr/' }
-
-      it 'sets preferred_language accordingly' do
-        expect(cookies[:preferred_language]).to eq 'fr'
-      end
-
-      context 'when language param is invalid' do
-        let(:glm_source) { 'about.gitlab.com/ko-ko/' }
-
-        it 'sets preferred_language to default' do
-          expect(cookies[:preferred_language]).to eq Gitlab::CurrentSettings.default_preferred_language
-        end
-      end
-    end
-
-    context 'when browser preferred language is not english' do
-      context 'with selectable language' do
-        let(:accept_language_header) { 'zh-CN,zh;q=0.8,zh-TW;q=0.7' }
-
-        it 'sets preferred_language accordingly' do
-          expect(cookies[:preferred_language]).to eq 'zh_CN'
-        end
-      end
-
-      context 'with unselectable language' do
-        let(:accept_language_header) { 'nl-NL;q=0.8' }
-
-        it 'sets preferred_language to default' do
-          expect(cookies[:preferred_language]).to eq Gitlab::CurrentSettings.default_preferred_language
-        end
-      end
-    end
   end
 
   context 'when preferred language in cookies has been modified' do