diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index e15e1be2c6d5e97c2d997fd0de0b0c1c16b8c107..f8447691d6d0fce796e402404b99c9ff0a80186a 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -90,6 +90,9 @@ class Projects::MergeRequestsController < Projects::ApplicationController
       @merge_request.title = @merge_request.source_branch.titleize.humanize
       @target_project = @merge_request.target_project
       @target_repo = @target_project.repository
+
+      diff_line_count = Commit::diff_line_count(@diffs)
+      @suppress_diff = Commit::diff_suppress?(@diffs, diff_line_count)
     end
   end
 
diff --git a/app/views/projects/commits/_diffs.html.haml b/app/views/projects/commits/_diffs.html.haml
index 466085139f91fea39e9d20d14a6c79231cc74c6d..ed95a30bc7e57541cce9c2030184514c5e6f9323 100644
--- a/app/views/projects/commits/_diffs.html.haml
+++ b/app/views/projects/commits/_diffs.html.haml
@@ -6,12 +6,13 @@
     %p
       To preserve performance the diff is not shown.
       - if current_controller?(:commit) or current_controller?(:merge_requests)
-        Please, download the diff as
         - if current_controller?(:commit)
+          Please, download the diff as
           = link_to "plain diff", project_commit_path(@project, @commit, format: :diff), class: "underlined-link"
           or
           = link_to "email patch", project_commit_path(@project, @commit, format: :patch), class: "underlined-link"
-        - else
+        - elsif @merge_request && @merge_request.persisted?
+          Please, download the diff as
           = link_to "plain diff", project_merge_request_path(@project, @merge_request, format: :diff), class: "underlined-link"
           or
           = link_to "email patch", project_merge_request_path(@project, @merge_request, format: :patch), class: "underlined-link"