diff --git a/CHANGELOG b/CHANGELOG
index d228ef616d46462b63e0f7157a4a184268513bf6..ebffc0d90ab6a5582882fcafba191d643b19195a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -44,8 +44,6 @@ v 7.14.0 (unreleased)
   - Fetch code from forks to refs/merge-requests/:id/head when merge request created
   - Remove satellites
   - Remove comments and email addresses when publicly exposing ssh keys (Zeger-Jan van de Weg)
-  - Improve MR merge widget text and UI consistency.
-  - Improve text in MR "How To Merge" modal.
   - Cache all events
 
 v 7.13.3
diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss
index 30bbec7b795b53ccf7fe56de8ac5737085ce48bf..bb61a51029bce2b6d1def79c932f0579919dc8b5 100644
--- a/app/assets/stylesheets/pages/merge_requests.scss
+++ b/app/assets/stylesheets/pages/merge_requests.scss
@@ -182,7 +182,3 @@
 .merge-request-form .select2-container {
   width: 250px !important;
 }
-
-#modal_merge_info .modal-dialog {
-  width: 600px;
-}
diff --git a/app/views/projects/merge_requests/show/_how_to_merge.html.haml b/app/views/projects/merge_requests/show/_how_to_merge.html.haml
index db1575f899a96d7060e7d6f8770881025cd37a46..22f601ac99e4f83731f0038e9b2635b6777be050 100644
--- a/app/views/projects/merge_requests/show/_how_to_merge.html.haml
+++ b/app/views/projects/merge_requests/show/_how_to_merge.html.haml
@@ -3,45 +3,42 @@
     .modal-content
       .modal-header
         %a.close{href: "#", "data-dismiss" => "modal"} ×
-        %h3 Check out, review and merge locally
+        %h3 How to merge
       .modal-body
-        %p
-          %strong Step 1. 
-          Fetch and check out the branch for this merge request
-        %pre.dark
-          - if @merge_request.for_fork?
+        - if @merge_request.for_fork?
+          - source_remote = @merge_request.source_project.namespace.nil? ? "source" :@merge_request.source_project.namespace.path
+          - target_remote = @merge_request.target_project.namespace.nil? ? "target" :@merge_request.target_project.namespace.path
+          %p
+            %strong Step 1.
+            Fetch the code and create a new branch pointing to it
+          %pre.dark
             :preserve
               git fetch #{@merge_request.source_project.http_url_to_repo} #{@merge_request.source_branch}
               git checkout -b #{@merge_request.source_project_path}-#{@merge_request.source_branch} FETCH_HEAD
-          - else
-            :preserve
-              git fetch origin
-              git checkout -b #{@merge_request.source_branch} origin/#{@merge_request.source_branch}
-        %p
-          %strong Step 2.
-          Review the changes locally
-
-        %p
-          %strong Step 3.
-          Merge the branch and fix any conflicts that come up
-        %pre.dark
-          - if @merge_request.for_fork?
+          %p
+            %strong Step 2.
+            Merge the branch and push the changes to GitLab
+          %pre.dark
             :preserve
               git checkout #{@merge_request.target_branch}
               git merge --no-ff #{@merge_request.source_project_path}-#{@merge_request.source_branch}
-          - else
+              git push origin #{@merge_request.target_branch}
+        - else
+          %p
+            %strong Step 1.
+            Update the repo and checkout the branch we are going to merge
+          %pre.dark
+            :preserve
+              git fetch origin
+              git checkout -b #{@merge_request.source_branch} origin/#{@merge_request.source_branch}
+          %p
+            %strong Step 2.
+            Merge the branch and push the changes to GitLab
+          %pre.dark
             :preserve
               git checkout #{@merge_request.target_branch}
               git merge --no-ff #{@merge_request.source_branch}
-        %p
-          %strong Step 4.
-          Push the result of the merge to GitLab
-        %pre.dark
-          :preserve
-            git push origin #{@merge_request.target_branch}
-        - unless @merge_request.can_be_merged_by?(current_user)
-          %p
-            Note that pushing to GitLab requires write access to this repository.
+              git push origin #{@merge_request.target_branch}
 
 :javascript
   $(function(){
diff --git a/app/views/projects/merge_requests/widget/_closed.html.haml b/app/views/projects/merge_requests/widget/_closed.html.haml
index f3cc0e7e8a19fe04e1985c1b2d44c208dfaec37e..b5704c502c864a103e81e1bdd9f04ff69e6fe20d 100644
--- a/app/views/projects/merge_requests/widget/_closed.html.haml
+++ b/app/views/projects/merge_requests/widget/_closed.html.haml
@@ -6,7 +6,4 @@
       - if @merge_request.closed_event
         by #{link_to_member(@project, @merge_request.closed_event.author, avatar: true)}
         #{time_ago_with_tooltip(@merge_request.closed_event.created_at)}
-    %p 
-      = succeed '.' do
-        The changes were not merged into
-        %span.label-branch= @merge_request.target_branch
+    %p Changes were not merged into target branch
diff --git a/app/views/projects/merge_requests/widget/_heading.html.haml b/app/views/projects/merge_requests/widget/_heading.html.haml
index 4d4e2f68f613b614aa13525810ec3d99128827de..17d529766e6e44fb90eb75822fce4640c902a171 100644
--- a/app/views/projects/merge_requests/widget/_heading.html.haml
+++ b/app/views/projects/merge_requests/widget/_heading.html.haml
@@ -3,26 +3,26 @@
     - [:success, :skipped, :canceled, :failed, :running, :pending].each do |status|
       .ci_widget{class: "ci-#{status}", style: "display:none"}
         - if status == :success
-          - status = "passed"
           = icon("check-circle")
         - else
           = icon("circle")
         %span CI build #{status}
         for #{@merge_request.last_commit_short_sha}.
         %span.ci-coverage
-        = link_to "View build details", ci_build_details_path(@merge_request), :"data-no-turbolink" => "data-no-turbolink"
+        = link_to "View build page", ci_build_details_path(@merge_request), :"data-no-turbolink" => "data-no-turbolink"
 
     .ci_widget
       = icon("spinner spin")
-      Checking CI status for #{@merge_request.last_commit_short_sha}…
+      Checking for CI status for #{@merge_request.last_commit_short_sha}
 
     .ci_widget.ci-not_found{style: "display:none"}
       = icon("times-circle")
-      Could not find CI status for #{@merge_request.last_commit_short_sha}.
+      %span Can not find commit in the CI server
+      for #{@merge_request.last_commit_short_sha}.
 
     .ci_widget.ci-error{style: "display:none"}
       = icon("times-circle")
-      Could not connect to the CI server. Please check your settings and try again.
+      %span Cannot connect to the CI server. Please check your settings and try again.
 
   :coffeescript
     $ ->
diff --git a/app/views/projects/merge_requests/widget/_locked.html.haml b/app/views/projects/merge_requests/widget/_locked.html.haml
index 78d0783cba05208647a0962e2e14784deae42d4c..13ec278847bcf64d51fe7b9476330b5bd0546704 100644
--- a/app/views/projects/merge_requests/widget/_locked.html.haml
+++ b/app/views/projects/merge_requests/widget/_locked.html.haml
@@ -2,8 +2,7 @@
   = render 'projects/merge_requests/widget/heading'
   .mr-widget-body
     %h4
-      = icon("spinner spin")
-      Merge in progress…
+      Merge in progress...
     %p
-      This merge request is in the process of being merged, during which time it is locked and cannot be closed.
+      Merging is in progress. While merging this request is locked and cannot be closed.
 
diff --git a/app/views/projects/merge_requests/widget/_merged.html.haml b/app/views/projects/merge_requests/widget/_merged.html.haml
index d22dfa085b8015210901c492f1c165d6cffc3919..a3b13140810a102745340f8f5912af5249902d23 100644
--- a/app/views/projects/merge_requests/widget/_merged.html.haml
+++ b/app/views/projects/merge_requests/widget/_merged.html.haml
@@ -7,31 +7,23 @@
         by #{link_to_member(@project, @merge_request.merge_event.author, avatar: true)}
         #{time_ago_with_tooltip(@merge_request.merge_event.created_at)}
     %div
-      - if !@merge_request.source_branch_exists?
-        = succeed '.' do
-          The changes were merged into
-          %span.label-branch= @merge_request.target_branch
-        The source branch has been removed.
+      - if @source_branch.blank?
+        Source branch has been removed
 
-      - elsif can_remove_branch?(@merge_request.source_project, @merge_request.source_branch)
+      - elsif can_remove_branch?(@merge_request.source_project, @merge_request.source_branch) && @merge_request.merged?
         .remove_source_branch_widget
-          %p 
-            = succeed '.' do
-              The changes were merged into
-              %span.label-branch= @merge_request.target_branch
-            You can remove the source branch now.
+          %p Changes merged into #{@merge_request.target_branch}. You can remove source branch now
           = link_to namespace_project_branch_path(@merge_request.source_project.namespace, @merge_request.source_project, @source_branch), remote: true, method: :delete, class: "btn btn-primary btn-sm remove_source_branch" do
             %i.fa.fa-times
             Remove Source Branch
 
         .remove_source_branch_widget.failed.hide
-          %p 
-            Failed to remove source branch '#{@merge_request.source_branch}'.
+          Failed to remove source branch '#{@merge_request.source_branch}'
 
         .remove_source_branch_in_progress.hide
-          %p
-            = icon('spinner spin')
-            Removing source branch '#{@merge_request.source_branch}'. Please wait. This page will be automatically reload.
+          %i.fa.fa-spinner.fa-spin
+           
+          Removing source branch '#{@merge_request.source_branch}'. Please wait. Page will be automatically reloaded.  
 
         :coffeescript
           $('.remove_source_branch').on 'click', ->
diff --git a/app/views/projects/merge_requests/widget/_open.html.haml b/app/views/projects/merge_requests/widget/_open.html.haml
index 0aad9bb3e88e0507eb56af53618271f2e525c499..f420cdcab49cfc568618bbc93110e0bcca52a955 100644
--- a/app/views/projects/merge_requests/widget/_open.html.haml
+++ b/app/views/projects/merge_requests/widget/_open.html.haml
@@ -22,6 +22,6 @@
     .mr-widget-footer
       %span
         %i.fa.fa-check
-        Accepting this merge request will close #{"issue".pluralize(@closes_issues.size)}
+        Accepting this merge request will close #{@closes_issues.size == 1 ? 'issue' : 'issues'}
         = succeed '.' do
           != gfm(issues_sentence(@closes_issues))
diff --git a/app/views/projects/merge_requests/widget/open/_accept.html.haml b/app/views/projects/merge_requests/widget/open/_accept.html.haml
index e1525f6aeb75e37a803d08b4c886bcbe4043ad54..1be98cbe8debd7834ff4041a89ac3d9063c49175 100644
--- a/app/views/projects/merge_requests/widget/open/_accept.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_accept.html.haml
@@ -8,10 +8,10 @@
       .accept-control.checkbox
         = label_tag :should_remove_source_branch, class: "remove_source_checkbox" do
           = check_box_tag :should_remove_source_branch
-          Remove source branch
+          Remove source-branch
     .accept-control
-      = link_to "#", class: "modify-merge-commit-link js-toggle-button" do
-        = icon('edit')
+      = link_to "#", class: "modify-merge-commit-link js-toggle-button", title: "Modify merge commit message" do
+        %i.fa.fa-edit
         Modify commit message
     .js-toggle-content.hide.prepend-top-20
       = render 'shared/commit_message_container', params: params,
diff --git a/app/views/projects/merge_requests/widget/open/_archived.html.haml b/app/views/projects/merge_requests/widget/open/_archived.html.haml
index ab30fa6b24365bef35d6775d0963ddf6e250e3ce..eaf113ee568d116bf48a7288f313840b00e7182f 100644
--- a/app/views/projects/merge_requests/widget/open/_archived.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_archived.html.haml
@@ -1,4 +1,2 @@
-%h4 
-  Project is archived
 %p
-  This merge request cannot be merged because archived projects cannot be written to.
+  %strong Archived projects do not provide commit access.
diff --git a/app/views/projects/merge_requests/widget/open/_check.html.haml b/app/views/projects/merge_requests/widget/open/_check.html.haml
index b6b8974297e62534fa7d2a443cced88b0b78bb39..e775447cb75d7f4f78b6771e156310b47b924636 100644
--- a/app/views/projects/merge_requests/widget/open/_check.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_check.html.haml
@@ -1,6 +1,6 @@
 %strong
-  = icon("spinner spin")
-  Checking ability to merge automatically…
+  %i.fa.fa-spinner.fa-spin
+  Checking automatic merge…
 
 :coffeescript
   $ ->
diff --git a/app/views/projects/merge_requests/widget/open/_conflicts.html.haml b/app/views/projects/merge_requests/widget/open/_conflicts.html.haml
index e6c089fefb2d39c509b42b1c807f6aca2554c030..440a7aa1c613cf34f60fa035b370511d24fc8b50 100644
--- a/app/views/projects/merge_requests/widget/open/_conflicts.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_conflicts.html.haml
@@ -1,10 +1,11 @@
 %h4
-  = icon("exclamation-triangle")
-  This merge request contains merge conflicts
+  This merge request contains merge conflicts that must be resolved.
 
-%p
-  Please resolve these conflicts or 
-  - if @merge_request.can_be_merged_by?(current_user)
-    #{link_to "merge this request manually", "#modal_merge_info", class: "how_to_merge_link vlink", "data-toggle" => "modal"}.
-  - else
-    ask someone with write access to this repository to merge this request manually.
+- if @merge_request.can_be_merged_by?(current_user)
+  %p
+    You can merge it manually using the
+    %strong
+      = link_to "command line", "#modal_merge_info", class: "how_to_merge_link vlink", title: "How To Merge", "data-toggle" => "modal"
+- else
+  %p
+    Only those with write access to this repository can merge merge requests.
diff --git a/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml b/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml
index c9f076294939084fc0e0142017b06b4a0aa3fb08..1c565bae80a08447f263950110f3bb10819cb992 100644
--- a/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_missing_branch.html.haml
@@ -1,16 +1,16 @@
-- unless @merge_request.source_branch_exists?
-  %h4
-    = icon("exclamation-triangle")
-    Source branch
-    %span.label-branch= source_branch_with_namespace(@merge_request)
-    does not exist
-  %p
-    Please restore the source branch or close this merge request and open a new merge request with a different source branch.
-- else
-  %h4
-    = icon("exclamation-triangle")
-    Target branch
-    %span.label-branch= @merge_request.target_branch
-    does not exist
-  %p
-    Please restore the target branch or use a different target branch.
+%h4
+  Can't be merged
+%p
+  This merge request can not be accepted because branch
+  - unless @merge_request.source_branch_exists?
+    %span.label.label-inverse= @merge_request.source_branch
+    does not exist in
+    %span.label.label-info= @merge_request.source_project_path
+    %br
+    %strong Please close this merge request and open a new merge request to change source branches.
+  - else
+    %span.label.label-inverse= @merge_request.target_branch
+    does not exist in
+    %span.label.label-info= @merge_request.target_project_path
+    %br
+    %strong Please close this merge request or change to another target branch.
diff --git a/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml b/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml
index a8145558ca85117722c73ed2823ed97b657de95d..82f6ffd8fcbe69331b49f4cb0d90366e2608a9b0 100644
--- a/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_not_allowed.html.haml
@@ -1,4 +1,2 @@
-%h4 
-  Ready to be merged automatically
-%p
-  Ask someone with write access to this repository to merge this request.
+%strong This request can be merged automatically.
+Only those with write access to this repository can merge merge requests.
diff --git a/app/views/projects/merge_requests/widget/open/_nothing.html.haml b/app/views/projects/merge_requests/widget/open/_nothing.html.haml
index 35626b624b7a2cb9de503aa314899455e3be3983..4d526576bc2d7c6a41184ff39a15a0afa8388fc8 100644
--- a/app/views/projects/merge_requests/widget/open/_nothing.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_nothing.html.haml
@@ -1,8 +1,8 @@
-%h4 
-  = icon("exclamation-triangle")
-  Nothing to merge from
-  %span.label-branch= source_branch_with_namespace(@merge_request)
-  into
-  %span.label-branch= @merge_request.target_branch
+%h4 Nothing to merge
 %p
-  Please push new commits to the source branch or use a different target branch.
+  Nothing to merge from
+  %span.label-branch #{@merge_request.source_branch}
+  to
+  %span.label-branch #{@merge_request.target_branch}
+  %br
+  Try to use different branches or push new code.
diff --git a/app/views/projects/merge_requests/widget/open/_reload.html.haml b/app/views/projects/merge_requests/widget/open/_reload.html.haml
index acfc31725eb95976ba5640fe704710fd29a13e32..5787f6efea457e6ca16c31d7504c8eceb8a97d8c 100644
--- a/app/views/projects/merge_requests/widget/open/_reload.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_reload.html.haml
@@ -1,6 +1 @@
-%h4
-  = icon("exclamation-triangle")
-  This merge request failed to be merged automatically
-
-%p
-  Please reload the page to find out the reason.
+This merge request cannot be merged. Try to reload the page.
diff --git a/app/views/projects/merge_requests/widget/open/_wip.html.haml b/app/views/projects/merge_requests/widget/open/_wip.html.haml
index 0cf16542cc1823cc7e09f6799bc5fce5e2fac926..4ce3ab31278924291d47e6d482f4e7898e8b458c 100644
--- a/app/views/projects/merge_requests/widget/open/_wip.html.haml
+++ b/app/views/projects/merge_requests/widget/open/_wip.html.haml
@@ -1,5 +1,13 @@
-%h4
-  This merge request is currently a Work In Progress
+- if @merge_request.can_be_merged_by?(current_user)
+  %h4
+    This merge request cannot be accepted because it is marked as Work In Progress.
 
-%p
-  When this merge request is ready, remove the "WIP" prefix from the title to allow it to be merged.
+  %p
+    %button.btn.disabled{:type => 'button'}
+      %i.fa.fa-warning
+      Accept Merge Request
+     
+    When the merge request is ready, remove the "WIP" prefix from the title to allow it to be accepted.
+- else
+  %strong This merge request is marked as Work In Progress.
+  Only those with write access to this repository can merge merge requests.
diff --git a/app/views/shared/issuable/_form.html.haml b/app/views/shared/issuable/_form.html.haml
index 3489bf3f1913edd4a1098800a186976ec9e95688..ac8c1936c9edfad69fc9871997dbcb9c46a7d9e9 100644
--- a/app/views/shared/issuable/_form.html.haml
+++ b/app/views/shared/issuable/_form.html.haml
@@ -16,10 +16,10 @@
       %p.help-block
         - if issuable.work_in_progress?
           Remove the <code>WIP</code> prefix from the title to allow this
-          <strong>Work In Progress</strong> merge request to be merged when it's ready.
+          <strong>Work In Progress</strong> merge request to be accepted when it's ready.
         - else
           Start the title with <code>[WIP]</code> or <code>WIP:</code> to prevent a
-          <strong>Work In Progress</strong> merge request from being merged before it's ready.
+          <strong>Work In Progress</strong> merge request from being accepted before it's ready.
 .form-group.issuable-description
   = f.label :description, 'Description', class: 'control-label'
   .col-sm-10