diff --git a/CHANGELOG b/CHANGELOG
index 7eb6ab81dd947ebc57834d18d7bfb11e38fe12b0..4e165362692775a521fa51abcb9524826e83d566 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 Please view this file on the master branch, on stable branches it's out of date.
 
 v 8.0.0 (unreleased)
+  - Fix "Reload with full diff" URL button in compare branch view (Stan Hu)
   - Remove user OAuth tokens from the database and request new tokens each session (Stan Hu)
   - Only show recent push event if the branch still exists or a recent merge request has not been created (Stan Hu)
   - Remove satellites
diff --git a/app/views/projects/diffs/_warning.html.haml b/app/views/projects/diffs/_warning.html.haml
index caed0e69dc883aee701b1574ddb034ce6bda9f34..f99bc9a85eb7aca109f57e670b68358021bac3b7 100644
--- a/app/views/projects/diffs/_warning.html.haml
+++ b/app/views/projects/diffs/_warning.html.haml
@@ -3,7 +3,7 @@
     Too many changes to show.
     .pull-right
       - unless diff_hard_limit_enabled?
-        = link_to "Reload with full diff", url_for(params.merge(force_show_diff: true, format: :html)), class: "btn btn-sm btn-warning"
+        = link_to "Reload with full diff", url_for(params.merge(force_show_diff: true, format: nil)), class: "btn btn-sm btn-warning"
 
       - if current_controller?(:commit) or current_controller?(:merge_requests)
         - if current_controller?(:commit)
diff --git a/features/project/commits/commits.feature b/features/project/commits/commits.feature
index c4b206edc95a30468157c41359e4687dbbd748df..3ebc8a39aaed4a6d17130c0229a9722de92f0628 100644
--- a/features/project/commits/commits.feature
+++ b/features/project/commits/commits.feature
@@ -41,6 +41,7 @@ Feature: Project Commits
   Scenario: I browse big commit
     Given I visit big commit page
     Then I see big commit warning
+    And I see "Reload with full diff" link
 
   Scenario: I browse a commit with an image
     Given I visit a commit with an image that changed
diff --git a/features/steps/project/commits/commits.rb b/features/steps/project/commits/commits.rb
index e6330ec457e802f6661592e4376786f5ff77be6c..a8532cc18d857c13d3efb7142aa95328883b4a1a 100644
--- a/features/steps/project/commits/commits.rb
+++ b/features/steps/project/commits/commits.rb
@@ -79,6 +79,12 @@ class Spinach::Features::ProjectCommits < Spinach::FeatureSteps
     expect(page).to have_content "Too many changes"
   end
 
+  step 'I see "Reload with full diff" link' do
+    link = find_link('Reload with full diff')
+    expect(link[:href]).to end_with('?force_show_diff=true')
+    expect(link[:href]).not_to include('.html')
+  end
+
   step 'I visit a commit with an image that changed' do
     visit namespace_project_commit_path(@project.namespace, @project, sample_image_commit.id)
   end