diff --git a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue
index f120680b440548e7c525412671e4a59c014338f7..a79043bcab36fe0c2b58cb5e93b798c00ad22371 100644
--- a/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue
+++ b/app/assets/javascripts/vue_merge_request_widget/components/states/ready_to_merge.vue
@@ -27,7 +27,6 @@ import readyToMergeSubscription from '~/vue_merge_request_widget/queries/states/
 import HelpPopover from '~/vue_shared/components/help_popover.vue';
 import {
   AUTO_MERGE_STRATEGIES,
-  WARNING,
   MT_MERGE_STRATEGY,
   PIPELINE_FAILED_STATE,
   STATE_MACHINE,
@@ -42,7 +41,6 @@ import CommitMessageDropdown from './commit_message_dropdown.vue';
 import SquashBeforeMerge from './squash_before_merge.vue';
 import MergeFailedPipelineConfirmationDialog from './merge_failed_pipeline_confirmation_dialog.vue';
 
-const PIPELINE_RUNNING_STATE = 'running';
 const PIPELINE_PENDING_STATE = 'pending';
 const PIPELINE_SUCCESS_STATE = 'success';
 
@@ -133,8 +131,6 @@ export default {
     GlFormCheckbox,
     GlSkeletonLoader,
     MergeFailedPipelineConfirmationDialog,
-    MergeTrainHelperIcon: () =>
-      import('ee_component/vue_merge_request_widget/components/merge_train_helper_icon.vue'),
     MergeImmediatelyConfirmationDialog: () =>
       import(
         'ee_component/vue_merge_request_widget/components/merge_immediately_confirmation_dialog.vue'
@@ -244,30 +240,11 @@ export default {
 
       return PIPELINE_SUCCESS_STATE;
     },
-    iconClass() {
-      if (this.shouldRenderMergeTrainHelperIcon && !this.mr.preventMerge) {
-        return PIPELINE_RUNNING_STATE;
-      }
-
-      if (
-        this.status === PIPELINE_FAILED_STATE ||
-        !this.commitMessage.length ||
-        !this.isMergeAllowed ||
-        this.mr.preventMerge
-      ) {
-        return WARNING;
-      }
-
-      return PIPELINE_SUCCESS_STATE;
-    },
     mergeButtonText() {
       if (this.isMergingImmediately) {
         return __('Merge in progress');
       }
-      if (this.isAutoMergeAvailable && !this.autoMergeLabelsEnabled) {
-        return this.autoMergeTextLegacy;
-      }
-      if (this.isAutoMergeAvailable && this.autoMergeLabelsEnabled) {
+      if (this.isAutoMergeAvailable) {
         return this.autoMergeText;
       }
 
@@ -277,9 +254,6 @@ export default {
 
       return __('Merge');
     },
-    autoMergeLabelsEnabled() {
-      return window.gon?.features?.autoMergeLabelsMrWidget;
-    },
     showAutoMergeHelperText() {
       return (
         !(this.status === PIPELINE_FAILED_STATE || this.isPipelineFailed) &&
@@ -695,18 +669,19 @@ export default {
                   @cancel="isPipelineFailedModalVisibleNormalMerge = false"
                 />
               </gl-button-group>
-              <merge-train-helper-icon
-                v-if="shouldRenderMergeTrainHelperIcon && !autoMergeLabelsEnabled"
-                class="gl-mx-3"
-              />
-              <template v-if="showAutoMergeHelperText && autoMergeLabelsEnabled">
+              <template v-if="showAutoMergeHelperText">
                 <div
                   class="gl-ml-4 gl-text-gray-500 gl-font-sm"
                   data-qa-selector="auto_merge_helper_text"
+                  data-testid="auto-merge-helper-text"
                 >
                   {{ autoMergeHelperText }}
                 </div>
-                <help-popover class="gl-ml-2" :options="autoMergeHelpPopoverOptions">
+                <help-popover
+                  class="gl-ml-2"
+                  :options="autoMergeHelpPopoverOptions"
+                  data-testid="auto-merge-helper-text-icon"
+                >
                   <gl-sprintf :message="autoMergePopoverSettings.bodyText">
                     <template #link="{ content }">
                       <gl-link
diff --git a/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js b/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
index 10a54c73273f7f016772fcafa93cd10b0c59a943..de801d922d341c2f75d1bd17e6262bdc6e6f592a 100644
--- a/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
+++ b/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
@@ -31,10 +31,6 @@ export default {
     pipelineMustSucceedConflictText() {
       return PIPELINE_MUST_SUCCEED_CONFLICT_TEXT;
     },
-    autoMergeTextLegacy() {
-      // MWPS is currently the only auto merge strategy available in CE
-      return __('Merge when pipeline succeeds');
-    },
     autoMergeText() {
       return __('Set to auto-merge');
     },
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index ad3b79b604c7396238a4cc280412b92d033158a2..eb52075c29c4bd51868c2ebf98afe60389cd571d 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -51,7 +51,6 @@ class Projects::MergeRequestsController < Projects::MergeRequests::ApplicationCo
     push_frontend_feature_flag(:saved_replies, current_user)
     push_frontend_feature_flag(:code_quality_inline_drawer, project)
     push_frontend_feature_flag(:hide_create_issue_resolve_all, project)
-    push_frontend_feature_flag(:auto_merge_labels_mr_widget, project)
     push_force_frontend_feature_flag(:summarize_my_code_review, summarize_my_code_review_enabled?)
     push_frontend_feature_flag(:mr_activity_filters, current_user)
   end
diff --git a/config/feature_flags/development/auto_merge_labels_mr_widget.yml b/config/feature_flags/development/auto_merge_labels_mr_widget.yml
deleted file mode 100644
index ea689058ee2338054c687a200924ab8fdfc5641f..0000000000000000000000000000000000000000
--- a/config/feature_flags/development/auto_merge_labels_mr_widget.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-name: auto_merge_labels_mr_widget
-introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/115436
-rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/409530
-milestone: '15.11'
-type: development
-group: group::pipeline execution
-default_enabled: true
diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/components/merge_train_helper_icon.vue b/ee/app/assets/javascripts/vue_merge_request_widget/components/merge_train_helper_icon.vue
deleted file mode 100644
index 6b8e22ad82395cda05aa8c40b341c8bd77529a38..0000000000000000000000000000000000000000
--- a/ee/app/assets/javascripts/vue_merge_request_widget/components/merge_train_helper_icon.vue
+++ /dev/null
@@ -1,62 +0,0 @@
-<script>
-import { GlIcon, GlLink, GlPopover } from '@gitlab/ui';
-import { helpPagePath } from '~/helpers/help_page_helper';
-import { s__ } from '~/locale';
-
-export default {
-  name: 'MergeTrainHelperIcon',
-  components: {
-    GlIcon,
-    GlLink,
-    GlPopover,
-  },
-  i18n: {
-    popoverTitle: s__('mrWidget|What is a merge train?'),
-    popoverContent: s__(
-      'mrWidget|A merge train is a queued list of merge requests waiting to be merged into the target branch. The changes in each merge request are combined with the changes in earlier merge requests and tested before merge.',
-    ),
-    moreInfo: s__('mrWidget|More information'),
-    learnMore: s__('mrWidget|Learn more'),
-  },
-  popoverConstants: {
-    target: 'merge-train-help',
-    container: 'merge-train-help-container',
-  },
-  computed: {
-    mergeTrainWhenPipelineSucceedsDocsPath() {
-      return helpPagePath('ci/pipelines/merge_trains.md', {
-        anchor: 'add-a-merge-request-to-a-merge-train',
-      });
-    },
-  },
-};
-</script>
-
-<template>
-  <div :id="$options.popoverConstants.container">
-    <gl-icon
-      :id="$options.popoverConstants.target"
-      name="question-o"
-      class="gl-text-blue-600"
-      :aria-label="$options.i18n.moreInfo"
-      data-testid="merge-train-helper-icon"
-    />
-    <gl-popover
-      :target="$options.popoverConstants.target"
-      :container="$options.popoverConstants.container"
-      placement="top"
-      :title="$options.i18n.popoverTitle"
-      triggers="hover focus"
-    >
-      <p data-testid="merge-train-helper-content">{{ $options.i18n.popoverContent }}</p>
-      <gl-link
-        class="gl-mt-3"
-        :href="mergeTrainWhenPipelineSucceedsDocsPath"
-        target="_blank"
-        rel="noopener noreferrer"
-      >
-        {{ $options.i18n.learnMore }}
-      </gl-link>
-    </gl-popover>
-  </div>
-</template>
diff --git a/ee/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js b/ee/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
index 6a84c4f375065b6b35eceb7b0d14d2ce1da71fee..d08abd62b69ad22c7472197f6f477000a33bd191 100644
--- a/ee/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
+++ b/ee/app/assets/javascripts/vue_merge_request_widget/mixins/ready_to_merge.js
@@ -8,7 +8,6 @@ import {
   PIPELINE_FAILED_STATE,
 } from '~/vue_merge_request_widget/constants';
 import base from '~/vue_merge_request_widget/mixins/ready_to_merge';
-import { MERGE_TRAIN_BUTTON_TEXT } from '~/vue_merge_request_widget/i18n';
 
 export const MERGE_DISABLED_TEXT_UNAPPROVED = s__(
   'mrWidget|Merge blocked: all required approvals must be given.',
@@ -58,22 +57,6 @@ export default {
     pipelineMustSucceedConflictText() {
       return PIPELINE_MUST_SUCCEED_CONFLICT_TEXT;
     },
-    autoMergeTextLegacy() {
-      if (this.preferredAutoMergeStrategy === MTWPS_MERGE_STRATEGY) {
-        if (this.stateData.mergeTrainsCount === 0) {
-          return __('Start merge train when pipeline succeeds');
-        }
-        return __('Add to merge train when pipeline succeeds');
-      } else if (this.preferredAutoMergeStrategy === MT_MERGE_STRATEGY) {
-        if (this.stateData.mergeTrainsCount === 0) {
-          const pipelineFailed = this.status === PIPELINE_FAILED_STATE || this.isPipelineFailed;
-
-          return pipelineFailed ? MERGE_TRAIN_BUTTON_TEXT.failed : MERGE_TRAIN_BUTTON_TEXT.passed;
-        }
-        return __('Add to merge train');
-      }
-      return __('Merge when pipeline succeeds');
-    },
     autoMergeText() {
       if (this.preferredAutoMergeStrategy === MT_MERGE_STRATEGY) {
         return __('Merge');
diff --git a/ee/spec/features/merge_request/user_merges_immediately_spec.rb b/ee/spec/features/merge_request/user_merges_immediately_spec.rb
index dc106e4584ee3b2ba51b0f934b339c4067bbfdb8..ff6ef25d83da7d275b406e9a96ef468e69103201 100644
--- a/ee/spec/features/merge_request/user_merges_immediately_spec.rb
+++ b/ee/spec/features/merge_request/user_merges_immediately_spec.rb
@@ -36,39 +36,6 @@ def open_warning_dialog
   end
 
   context 'when the merge request is on the merge train' do
-    before do
-      stub_feature_flags(disable_merge_trains: false)
-      stub_licensed_features(merge_pipelines: true, merge_trains: true)
-      stub_ci_pipeline_yaml_file(YAML.dump(ci_yaml))
-      stub_feature_flags(auto_merge_labels_mr_widget: false)
-
-      sign_in(user)
-      visit project_merge_request_path(project, merge_request)
-      wait_for_requests
-    end
-
-    it 'shows a warning dialog and does nothing if the user selects "Cancel"' do
-      Sidekiq::Testing.fake! do
-        open_warning_dialog
-
-        find(':focus').send_keys :enter
-
-        expect(merge_button).to have_content('Start merge train')
-      end
-    end
-
-    it 'shows a warning dialog and merges immediately after the user confirms' do
-      Sidekiq::Testing.fake! do
-        open_warning_dialog
-
-        click_button 'Merge immediately'
-
-        expect(find('[data-testid="merging-state"]')).to have_content('Merging!')
-      end
-    end
-  end
-
-  context 'when the merge request is on the merge train with the auto merge labels feature flag turned on' do
     before do
       stub_feature_flags(disable_merge_trains: false)
       stub_licensed_features(merge_pipelines: true, merge_trains: true)
diff --git a/ee/spec/features/merge_trains/user_adds_merge_request_to_merge_train_spec.rb b/ee/spec/features/merge_trains/user_adds_merge_request_to_merge_train_spec.rb
index e8f8769c6a550779ac2453d699f937dad75169cb..86ee1f7b5af7cd1f6438737a94f30964c26d3ef6 100644
--- a/ee/spec/features/merge_trains/user_adds_merge_request_to_merge_train_spec.rb
+++ b/ee/spec/features/merge_trains/user_adds_merge_request_to_merge_train_spec.rb
@@ -25,7 +25,6 @@
     merge_request.all_pipelines.first.succeed!
     merge_request.update_head_pipeline
     stub_ci_pipeline_yaml_file(YAML.dump(ci_yaml))
-    stub_feature_flags(auto_merge_labels_mr_widget: false)
 
     sign_in(user)
   end
@@ -33,7 +32,8 @@
   it "shows 'Start merge train' button" do
     visit project_merge_request_path(project, merge_request)
 
-    expect(page).to have_button('Start merge train')
+    expect(page).to have_button('Merge')
+    expect(page).to have_content('Add to merge train')
   end
 
   context 'when merge_trains EEP license is not available' do
@@ -41,17 +41,17 @@
       stub_licensed_features(merge_trains: false)
     end
 
-    it 'does not show Start merge train' do
+    it 'does not show Start merge train helper text' do
       visit project_merge_request_path(project, merge_request)
 
-      expect(page).not_to have_button('Start merge train')
+      expect(page).not_to have_content('Start merge train')
     end
   end
 
   context "when user clicks 'Start merge train' button" do
     before do
       visit project_merge_request_path(project, merge_request)
-      click_button 'Start merge train'
+      click_button 'Merge'
       wait_for_requests
     end
 
@@ -90,7 +90,8 @@
       it 'cancels automatic merge' do
         page.within('.mr-state-widget') do
           expect(page).not_to have_content("Added to the merge train by #{user.name}")
-          expect(page).to have_button('Start merge train')
+          expect(page).to have_button('Merge')
+          expect(page).to have_content('Add to merge train')
         end
       end
     end
@@ -103,10 +104,11 @@
         target_project: project, target_branch: 'master')
     end
 
-    it "shows 'Add to merge train' button" do
+    it "shows 'Merge' button and 'Add to merge train' helper text" do
       visit project_merge_request_path(project, merge_request)
 
-      expect(page).to have_button('Add to merge train')
+      expect(page).to have_button('Merge')
+      expect(page).to have_content('Add to merge train')
     end
   end
 end
diff --git a/ee/spec/features/merge_trains/user_adds_to_merge_train_when_pipeline_succeeds_spec.rb b/ee/spec/features/merge_trains/user_adds_to_merge_train_when_pipeline_succeeds_spec.rb
index fe2a85aaa1b3024cfcfee8c5fb18ae95297e60de..4060c21c2ef45b91f5a1c772a14fc58338029560 100644
--- a/ee/spec/features/merge_trains/user_adds_to_merge_train_when_pipeline_succeeds_spec.rb
+++ b/ee/spec/features/merge_trains/user_adds_to_merge_train_when_pipeline_succeeds_spec.rb
@@ -19,7 +19,6 @@
     stub_licensed_features(merge_pipelines: true, merge_trains: true)
     project.add_maintainer(user)
     project.update!(merge_pipelines_enabled: true, merge_trains_enabled: true)
-    stub_feature_flags(auto_merge_labels_mr_widget: false)
 
     merge_request.update_head_pipeline
 
@@ -29,12 +28,14 @@
   it 'shows Start merge train when pipeline succeeds button and helper icon' do
     visit project_merge_request_path(project, merge_request)
 
-    expect(page).to have_button('Start merge train when pipeline succeeds')
+    expect(page).to have_button('Set to auto-merge')
+    expect(page).to have_selector('[data-testid="auto-merge-helper-text"]')
 
-    find('[data-testid="merge-train-helper-icon"]').hover
+    within '[data-testid="ready_to_merge_state"]' do
+      find('[data-testid="auto-merge-helper-text-icon"]').hover
+    end
 
-    expect(page).to have_selector('[data-testid="merge-train-helper-content"]')
-    expect(page).to have_link('Learn more', href: help_page_path('ci/pipelines/merge_trains.md', anchor: 'add-a-merge-request-to-a-merge-train'))
+    expect(page).to have_link('merge train')
   end
 
   context 'when merge_trains EEP license is not available' do
@@ -45,15 +46,15 @@
     it 'does not show Start merge train when pipeline succeeds button' do
       visit project_merge_request_path(project, merge_request)
 
-      expect(page).not_to have_button('Start merge train when pipeline succeeds')
-      expect(page).not_to have_selector('[data-testid="merge-train-helper-icon"]')
+      expect(page).to have_button('Set to auto-merge')
+      expect(page).to have_content('Merge when pipeline succeeds')
     end
   end
 
   context "when user clicks 'Start merge train when pipeline succeeds' button" do
     before do
       visit project_merge_request_path(project, merge_request)
-      click_button 'Start merge train when pipeline succeeds'
+      click_button 'Set to auto-merge'
     end
 
     it 'informs merge request that auto merge is enabled' do
@@ -72,7 +73,8 @@
       it 'cancels automatic merge' do
         page.within('.mr-state-widget') do
           expect(page).not_to have_content("Set by #{user.name} to start a merge train when the pipeline succeeds")
-          expect(page).to have_button('Start merge train when pipeline succeeds')
+          expect(page).to have_button('Set to auto-merge')
+          expect(page).to have_content('Add to merge train when pipeline succeeds')
         end
       end
     end
@@ -88,7 +90,8 @@
     it 'shows Add to merge train when pipeline succeeds button' do
       visit project_merge_request_path(project, merge_request)
 
-      expect(page).to have_button('Add to merge train when pipeline succeeds')
+      expect(page).to have_button('Set to auto-merge')
+      expect(page).to have_content('Add to merge train when pipeline succeeds')
     end
   end
 end
diff --git a/ee/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js b/ee/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js
index 39862a8294c4b5ee6abfeff467d775d1aca0c7fe..68066dd877bf44fcfabe087a8cf0f47df8cadde9 100644
--- a/ee/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js
+++ b/ee/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js
@@ -2,7 +2,6 @@ import { GlLink, GlSprintf } from '@gitlab/ui';
 import { nextTick } from 'vue';
 import MergeImmediatelyConfirmationDialog from 'ee/vue_merge_request_widget/components/merge_immediately_confirmation_dialog.vue';
 import MergeTrainFailedPipelineConfirmationDialog from 'ee/vue_merge_request_widget/components/merge_train_failed_pipeline_confirmation_dialog.vue';
-import MergeTrainHelperIcon from 'ee/vue_merge_request_widget/components/merge_train_helper_icon.vue';
 import { mountExtended, shallowMountExtended } from 'helpers/vue_test_utils_helper';
 import { stubComponent } from 'helpers/stub_component';
 import ReadyToMerge from '~/vue_merge_request_widget/components/states/ready_to_merge.vue';
@@ -11,7 +10,6 @@ import {
   MT_MERGE_STRATEGY,
   MTWPS_MERGE_STRATEGY,
 } from '~/vue_merge_request_widget/constants';
-import { MERGE_TRAIN_BUTTON_TEXT } from '~/vue_merge_request_widget/i18n';
 
 describe('ReadyToMerge', () => {
   let wrapper;
@@ -22,12 +20,6 @@ describe('ReadyToMerge', () => {
     poll: () => {},
   };
 
-  const activePipeline = {
-    id: 1,
-    path: 'path/to/pipeline',
-    active: true,
-  };
-
   const mr = {
     isPipelineActive: false,
     headPipeline: { id: 'gid://gitlab/Pipeline/1', path: 'path/to/pipeline' },
@@ -75,7 +67,6 @@ describe('ReadyToMerge', () => {
         MergeImmediatelyConfirmationDialog: stubComponent(MergeImmediatelyConfirmationDialog, {
           methods: { show: showMock },
         }),
-        MergeTrainHelperIcon,
         GlSprintf,
         GlLink,
         MergeTrainFailedPipelineConfirmationDialog,
@@ -86,60 +77,11 @@ describe('ReadyToMerge', () => {
   const findMergeButton = () => wrapper.findByTestId('merge-button');
   const findMergeImmediatelyDropdown = () => wrapper.findByTestId('merge-immediately-dropdown');
   const findMergeImmediatelyButton = () => wrapper.findByTestId('merge-immediately-button');
-  const findMergeTrainHelperIcon = () => wrapper.findComponent(MergeTrainHelperIcon);
   const findMergeTrainFailedPipelineConfirmationDialog = () =>
     wrapper.findComponent(MergeTrainFailedPipelineConfirmationDialog);
   const findMergeImmediatelyConfirmationDialog = () =>
     wrapper.findComponent(MergeImmediatelyConfirmationDialog);
 
-  describe('Merge button text', () => {
-    it.each`
-      availableAutoMergeStrategies | mergeTrainsCount | expectedText
-      ${[]}                        | ${0}             | ${'Merge'}
-      ${[MWPS_MERGE_STRATEGY]}     | ${0}             | ${'Merge when pipeline succeeds'}
-      ${[MT_MERGE_STRATEGY]}       | ${0}             | ${'Start merge train'}
-      ${[MT_MERGE_STRATEGY]}       | ${1}             | ${'Add to merge train'}
-      ${[MTWPS_MERGE_STRATEGY]}    | ${0}             | ${'Start merge train when pipeline succeeds'}
-      ${[MTWPS_MERGE_STRATEGY]}    | ${1}             | ${'Add to merge train when pipeline succeeds'}
-    `(
-      'displays $expectedText with merge strategy $availableAutoMergeStrategies and merge train count $mergeTrainsCount',
-      ({ availableAutoMergeStrategies, mergeTrainsCount, expectedText }) => {
-        createComponent({ availableAutoMergeStrategies, mergeTrainsCount });
-
-        expect(findMergeButton().text()).toBe(expectedText);
-      },
-    );
-
-    it('displays "Merge in progress"', () => {
-      createComponent({}, shallowMountExtended, { isMergingImmediately: true });
-
-      expect(findMergeButton().text()).toBe('Merge in progress');
-    });
-  });
-
-  describe('shouldRenderMergeTrainHelperIcon', () => {
-    it('should render the helper icon if MTWPS is available and the user has not yet pressed the MTWPS button', () => {
-      createComponent({
-        onlyAllowMergeIfPipelineSucceeds: true,
-        availableAutoMergeStrategies: [MTWPS_MERGE_STRATEGY],
-        autoMergeEnabled: false,
-      });
-
-      expect(findMergeTrainHelperIcon().exists()).toBe(true);
-    });
-  });
-
-  describe('merge train helper icon', () => {
-    it('does not render the merge train helper icon if the MTWPS strategy is not available', () => {
-      createComponent({
-        availableAutoMergeStrategies: [MT_MERGE_STRATEGY],
-        headPipeline: activePipeline,
-      });
-
-      expect(findMergeTrainHelperIcon().exists()).toBe(false);
-    });
-  });
-
   describe('Merge Immediately Dropdown', () => {
     it('should return false if no pipeline is active', () => {
       createComponent({
@@ -229,7 +171,7 @@ describe('ReadyToMerge', () => {
       expect(showMock).toHaveBeenCalled();
 
       expect(findMergeTrainFailedPipelineConfirmationDialog().props('visible')).toBe(false);
-      expect(findMergeButton().text()).toBe('Start merge train');
+      expect(findMergeButton().text()).toBe('Merge');
       expect(mr.transitionStateMachine).toHaveBeenCalledTimes(0);
     });
 
@@ -262,47 +204,7 @@ describe('ReadyToMerge', () => {
     });
   });
 
-  describe('Merge train text', () => {
-    describe('pipeline failed', () => {
-      beforeEach(() => {
-        createComponent({
-          isPipelineFailed: true,
-          availableAutoMergeStrategies: [MT_MERGE_STRATEGY],
-          hasCI: true,
-          onlyAllowMergeIfPipelineSucceeds: false,
-        });
-      });
-
-      it('merge button text should contain ellipsis', () => {
-        expect(findMergeButton().text()).toBe(MERGE_TRAIN_BUTTON_TEXT.failed);
-      });
-    });
-
-    describe('pipeline passed', () => {
-      beforeEach(() => {
-        createComponent({
-          availableAutoMergeStrategies: [MT_MERGE_STRATEGY],
-          hasCI: true,
-          onlyAllowMergeIfPipelineSucceeds: false,
-          headPipeline: {
-            id: 'gid://gitlab/Pipeline/1',
-            path: 'path/to/pipeline',
-            status: 'passed',
-          },
-        });
-      });
-
-      it('merge button text should not contain ellipsis', () => {
-        expect(findMergeButton().text()).toBe(MERGE_TRAIN_BUTTON_TEXT.passed);
-      });
-    });
-  });
-
-  describe('Merge button text with auto_merge_labels_mr_widget feature flag turned on', () => {
-    beforeEach(() => {
-      window.gon = { features: { autoMergeLabelsMrWidget: true } };
-    });
-
+  describe('Merge button text', () => {
     it.each`
       availableAutoMergeStrategies | mergeTrainsCount | expectedText
       ${[]}                        | ${0}             | ${'Merge'}
diff --git a/spec/features/merge_request/user_merges_only_if_pipeline_succeeds_spec.rb b/spec/features/merge_request/user_merges_only_if_pipeline_succeeds_spec.rb
index 19b5ad0fa8459e75c3e6ca39d726f61fa0118aea..a4c03dc4e73dfe4b4a872fb707058379a8b3ff54 100644
--- a/spec/features/merge_request/user_merges_only_if_pipeline_succeeds_spec.rb
+++ b/spec/features/merge_request/user_merges_only_if_pipeline_succeeds_spec.rb
@@ -13,22 +13,6 @@
 
   context 'project does not have CI enabled' do
     it 'allows MR to be merged' do
-      stub_feature_flags(auto_merge_labels_mr_widget: false)
-
-      visit project_merge_request_path(project, merge_request)
-
-      wait_for_requests
-
-      page.within('.mr-state-widget') do
-        expect(page).to have_button 'Merge'
-      end
-    end
-  end
-
-  context 'project does not have CI enabled and auto_merge_labels_mr_widget on' do
-    it 'allows MR to be merged' do
-      stub_feature_flags(auto_merge_labels_mr_widget: true)
-
       visit project_merge_request_path(project, merge_request)
 
       wait_for_requests
@@ -51,79 +35,6 @@
     context 'when merge requests can only be merged if the pipeline succeeds' do
       before do
         project.update_attribute(:only_allow_merge_if_pipeline_succeeds, true)
-
-        stub_feature_flags(auto_merge_labels_mr_widget: false)
-      end
-
-      context 'when CI is running' do
-        let(:status) { :running }
-
-        it 'does not allow to merge immediately' do
-          visit project_merge_request_path(project, merge_request)
-
-          wait_for_requests
-
-          expect(page).to have_button 'Merge when pipeline succeeds'
-          expect(page).not_to have_button '.js-merge-moment'
-        end
-      end
-
-      context 'when CI failed' do
-        let(:status) { :failed }
-
-        it 'does not allow MR to be merged' do
-          visit project_merge_request_path(project, merge_request)
-
-          wait_for_requests
-
-          expect(page).not_to have_button('Merge', exact: true)
-          expect(page).to have_content('Merge blocked: pipeline must succeed. Push a commit that fixes the failure or learn about other solutions.')
-        end
-      end
-
-      context 'when CI canceled' do
-        let(:status) { :canceled }
-
-        it 'does not allow MR to be merged' do
-          visit project_merge_request_path(project, merge_request)
-
-          wait_for_requests
-
-          expect(page).not_to have_button('Merge', exact: true)
-          expect(page).to have_content('Merge blocked: pipeline must succeed. Push a commit that fixes the failure or learn about other solutions.')
-        end
-      end
-
-      context 'when CI succeeded' do
-        let(:status) { :success }
-
-        it 'allows MR to be merged' do
-          visit project_merge_request_path(project, merge_request)
-
-          wait_for_requests
-
-          expect(page).to have_button('Merge', exact: true)
-        end
-      end
-
-      context 'when CI skipped' do
-        let(:status) { :skipped }
-
-        it 'does not allow MR to be merged' do
-          visit project_merge_request_path(project, merge_request)
-
-          wait_for_requests
-
-          expect(page).not_to have_button('Merge', exact: true)
-        end
-      end
-    end
-
-    context 'when merge requests can only be merged if the pipeline succeeds with auto_merge_labels_mr_widget on' do
-      before do
-        project.update_attribute(:only_allow_merge_if_pipeline_succeeds, true)
-
-        stub_feature_flags(auto_merge_labels_mr_widget: true)
       end
 
       context 'when CI is running' do
@@ -193,58 +104,6 @@
     context 'when merge requests can be merged when the build failed' do
       before do
         project.update_attribute(:only_allow_merge_if_pipeline_succeeds, false)
-
-        stub_feature_flags(auto_merge_labels_mr_widget: false)
-      end
-
-      context 'when CI is running' do
-        let(:status) { :running }
-
-        it 'allows MR to be merged immediately' do
-          visit project_merge_request_path(project, merge_request)
-
-          wait_for_requests
-
-          expect(page).to have_button 'Merge when pipeline succeeds'
-
-          page.find('.js-merge-moment').click
-          expect(page).to have_content 'Merge immediately'
-        end
-      end
-
-      context 'when CI failed' do
-        let(:status) { :failed }
-
-        it 'allows MR to be merged' do
-          visit project_merge_request_path(project, merge_request)
-
-          wait_for_requests
-          page.within('.mr-state-widget') do
-            expect(page).to have_button 'Merge'
-          end
-        end
-      end
-
-      context 'when CI succeeded' do
-        let(:status) { :success }
-
-        it 'allows MR to be merged' do
-          visit project_merge_request_path(project, merge_request)
-
-          wait_for_requests
-
-          page.within('.mr-state-widget') do
-            expect(page).to have_button 'Merge'
-          end
-        end
-      end
-    end
-
-    context 'when merge requests can be merged when the build failed with auto_merge_labels_mr_widget on' do
-      before do
-        project.update_attribute(:only_allow_merge_if_pipeline_succeeds, false)
-
-        stub_feature_flags(auto_merge_labels_mr_widget: true)
       end
 
       context 'when CI is running' do
diff --git a/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb b/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb
index 5c00da1f569e1042cf4282c1b8674c61f147517d..af7b0aefcac7b4060515d1d313d71236a8b1e61a 100644
--- a/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb
+++ b/spec/features/merge_request/user_merges_when_pipeline_succeeds_spec.rb
@@ -24,83 +24,6 @@
   end
 
   context 'when there is active pipeline for merge request' do
-    before do
-      create(:ci_build, pipeline: pipeline)
-      stub_feature_flags(auto_merge_labels_mr_widget: false)
-
-      sign_in(user)
-      visit project_merge_request_path(project, merge_request)
-    end
-
-    describe 'enabling Merge when pipeline succeeds' do
-      shared_examples 'Merge when pipeline succeeds activator' do
-        it 'activates the Merge when pipeline succeeds feature', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/410105' do
-          click_button "Merge when pipeline succeeds"
-
-          expect(page).to have_content "Set by #{user.name} to be merged automatically when the pipeline succeeds"
-          expect(page).to have_content "Source branch will not be deleted"
-          expect(page).to have_selector ".js-cancel-auto-merge"
-          visit project_merge_request_path(project, merge_request) # Needed to refresh the page
-          expect(page).to have_content /enabled an automatic merge when the pipeline for \h{8} succeeds/i
-        end
-      end
-
-      context "when enabled immediately" do
-        it_behaves_like 'Merge when pipeline succeeds activator'
-      end
-
-      context 'when enabled after pipeline status changed', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/258667' do
-        before do
-          pipeline.run!
-
-          # We depend on merge request widget being reloaded
-          # so we have to wait for asynchronous call to reload it
-          # and have_content expectation handles that.
-          #
-          expect(page).to have_content "Pipeline ##{pipeline.id} running"
-        end
-
-        it_behaves_like 'Merge when pipeline succeeds activator'
-      end
-
-      context 'when enabled after it was previously canceled' do
-        before do
-          click_button "Merge when pipeline succeeds"
-
-          wait_for_requests
-
-          click_button "Cancel auto-merge"
-
-          wait_for_requests
-
-          expect(page).to have_content 'Merge when pipeline succeeds'
-        end
-
-        it_behaves_like 'Merge when pipeline succeeds activator'
-      end
-
-      context 'when it was enabled and then canceled' do
-        let(:merge_request) do
-          create(:merge_request_with_diffs,
-                 :merge_when_pipeline_succeeds,
-                   source_project: project,
-                   title: 'Bug NS-04',
-                   author: user,
-                   merge_user: user)
-        end
-
-        before do
-          merge_request.merge_params['force_remove_source_branch'] = '0'
-          merge_request.save!
-          click_button "Cancel auto-merge"
-        end
-
-        it_behaves_like 'Merge when pipeline succeeds activator'
-      end
-    end
-  end
-
-  context 'when there is active pipeline for merge request with auto_merge_labels_mr_widget on' do
     before do
       create(:ci_build, pipeline: pipeline)
       stub_feature_flags(auto_merge_labels_mr_widget: true)
@@ -164,86 +87,6 @@
   end
 
   context 'when merge when pipeline succeeds is enabled' do
-    let(:merge_request) do
-      create(:merge_request_with_diffs, :simple, :merge_when_pipeline_succeeds,
-        source_project: project,
-        author: user,
-        merge_user: user,
-        title: 'MepMep')
-    end
-
-    let!(:build) do
-      create(:ci_build, pipeline: pipeline)
-    end
-
-    before do
-      stub_feature_flags(auto_merge_labels_mr_widget: false)
-      sign_in user
-      visit project_merge_request_path(project, merge_request)
-    end
-
-    it 'allows to cancel the automatic merge' do
-      click_button "Cancel auto-merge"
-
-      expect(page).to have_button "Merge when pipeline succeeds"
-
-      refresh
-
-      expect(page).to have_content "canceled the automatic merge"
-    end
-
-    context 'when pipeline succeeds' do
-      before do
-        build.success
-        refresh
-      end
-
-      it 'merges merge request', :sidekiq_might_not_need_inline do
-        expect(page).to have_content 'Changes merged'
-        expect(merge_request.reload).to be_merged
-      end
-    end
-
-    context 'view merge request with MWPS enabled but automatically merge fails' do
-      before do
-        merge_request.update!(
-          merge_user: merge_request.author,
-          merge_error: 'Something went wrong'
-        )
-        refresh
-      end
-
-      it 'shows information about the merge error' do
-        # Wait for the `ci_status` and `merge_check` requests
-        wait_for_requests
-
-        page.within('.mr-state-widget') do
-          expect(page).to have_content('Something went wrong. Try again.')
-        end
-      end
-    end
-
-    context 'view merge request with MWPS enabled but automatically merge fails' do
-      before do
-        merge_request.update!(
-          merge_user: merge_request.author,
-          merge_error: 'Something went wrong.'
-        )
-        refresh
-      end
-
-      it 'shows information about the merge error' do
-        # Wait for the `ci_status` and `merge_check` requests
-        wait_for_requests
-
-        page.within('.mr-state-widget') do
-          expect(page).to have_content('Something went wrong. Try again.')
-        end
-      end
-    end
-  end
-
-  context 'when merge when pipeline succeeds is enabled and auto_merge_labels_mr_widget on' do
     let(:merge_request) do
       create(:merge_request_with_diffs, :simple, :merge_when_pipeline_succeeds,
              source_project: project,
diff --git a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
index 7d024103943c3abddcab307fca4b3f6947f08e2e..7f1b39222ae25c682da983880a28c0ae9eab6a49 100644
--- a/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
+++ b/spec/features/merge_request/user_sees_merge_request_pipelines_spec.rb
@@ -56,8 +56,6 @@
     end
 
     before do
-      stub_feature_flags(auto_merge_labels_mr_widget: false)
-
       visit project_merge_request_path(project, merge_request)
 
       page.within('.merge-request-tabs') do
@@ -144,53 +142,8 @@
       end
     end
 
-    context 'when a user merges a merge request in the parent project', :sidekiq_might_not_need_inline do
-      before do
-        click_link 'Overview'
-        click_button 'Merge when pipeline succeeds'
-
-        wait_for_requests
-      end
-
-      context 'when detached merge request pipeline is pending' do
-        it 'waits the head pipeline' do
-          expect(page).to have_content('to be merged automatically when the pipeline succeeds')
-          expect(page).to have_button('Cancel auto-merge')
-        end
-      end
-
-      context 'when detached merge request pipeline succeeds' do
-        before do
-          detached_merge_request_pipeline.reload.succeed!
-
-          wait_for_requests
-        end
-
-        it 'merges the merge request' do
-          expect(page).to have_content('Merged by')
-          expect(page).to have_button('Revert')
-        end
-      end
-
-      context 'when branch pipeline succeeds' do
-        before do
-          click_link 'Overview'
-          push_pipeline.reload.succeed!
-
-          wait_for_requests
-        end
-
-        it 'waits the head pipeline' do
-          expect(page).to have_content('to be merged automatically when the pipeline succeeds')
-          expect(page).to have_button('Cancel auto-merge')
-        end
-      end
-    end
-
-    context 'when a user created a merge request in the parent project with auto_merge_labels_mr_widget on' do
+    context 'when a user created a merge request in the parent project' do
       before do
-        stub_feature_flags(auto_merge_labels_mr_widget: true)
-
         visit project_merge_request_path(project, merge_request)
 
         page.within('.merge-request-tabs') do
@@ -404,10 +357,10 @@
             project.update!(only_allow_merge_if_pipeline_succeeds: true)
           end
 
-          it 'shows MWPS button' do
+          it 'shows Set to auto-merge button' do
             visit project_merge_request_path(project, merge_request)
 
-            expect(page).to have_button('Merge when pipeline succeeds')
+            expect(page).to have_button('Set to auto-merge')
           end
         end
       end
@@ -417,7 +370,7 @@
       before do
         click_link("Overview")
 
-        click_button 'Merge when pipeline succeeds'
+        click_button 'Set to auto-merge'
 
         wait_for_requests
       end
diff --git a/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js b/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js
index 07fc0be9e51102da40a764fd33f052c72b3c7507..6437c51be494bf8455b6919c623f17913803efab 100644
--- a/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js
+++ b/spec/frontend/vue_merge_request_widget/components/states/mr_widget_ready_to_merge_spec.js
@@ -113,11 +113,6 @@ const createComponent = (customConfig = {}, createState = true) => {
       GlSprintf,
     },
     apolloProvider: createMockApollo([[readyToMergeQuery, readyToMergeResponseSpy]]),
-    provide: {
-      glFeatures: {
-        autoMergeLabelsMrWidget: false,
-      },
-    },
   });
 };
 
@@ -144,6 +139,7 @@ const findDeleteSourceBranchCheckbox = () =>
 const triggerApprovalUpdated = () => eventHub.$emit('ApprovalUpdated');
 const triggerEditCommitInput = () =>
   wrapper.find('[data-testid="widget_edit_commit_message"]').vm.$emit('input', true);
+const findMergeHelperText = () => wrapper.find('[data-qa-selector="auto_merge_helper_text"]');
 
 describe('ReadyToMerge', () => {
   beforeEach(() => {
@@ -214,18 +210,11 @@ describe('ReadyToMerge', () => {
       expect(findMergeButton().text()).toBe('Merge');
     });
 
-    it('should return "Merge when pipeline succeeds" when the MWPS auto merge strategy is available', () => {
-      createComponent({
-        mr: { preferredAutoMergeStrategy: MWPS_MERGE_STRATEGY },
-      });
-
-      expect(findMergeButton().text()).toBe('Merge when pipeline succeeds');
-    });
-
-    it('should return Merge when pipeline succeeds', () => {
+    it('should return Set to auto-merge in the button and Merge when pipeline succeeds in the helper text', () => {
       createComponent({ mr: { preferredAutoMergeStrategy: MWPS_MERGE_STRATEGY } });
 
-      expect(findMergeButton().text()).toBe('Merge when pipeline succeeds');
+      expect(findMergeButton().text()).toBe('Set to auto-merge');
+      expect(findMergeHelperText().text()).toBe('Merge when pipeline succeeds');
     });
   });