diff --git a/app/views/projects/builds/index.html.haml b/app/views/projects/builds/index.html.haml
index 56bb7b111775f9d12225a027377bc5393d610d98..b04784025f152742c38aad2f100ec6f641a84f43 100644
--- a/app/views/projects/builds/index.html.haml
+++ b/app/views/projects/builds/index.html.haml
@@ -6,7 +6,7 @@
     - if @ci_project && current_user && can?(current_user, :manage_builds, @project)
       .pull-left.hidden-xs
         - if @all_builds.running_or_pending.any?
-          = link_to 'Cancel all', cancel_all_namespace_project_builds_path(@project.namespace, @project), data: { confirm: 'Are you sure?' }, method: :post, class: 'btn btn-danger'
+          = link_to 'Cancel all', cancel_all_namespace_project_builds_path(@project.namespace, @project), data: { confirm: 'Are you sure?' }, class: 'btn btn-danger'
 
   %ul.center-top-menu
     %li{class: ('active' if @scope.nil?)}
diff --git a/config/routes.rb b/config/routes.rb
index 3253d950f277f9139c2d1b4cba088e88b9d10b9c..06abc2820a53810b2305459baddfe5726a6e4623 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -587,7 +587,7 @@ Gitlab::Application.routes.draw do
 
         resources :builds, only: [:index, :show] do
           collection do
-            post :cancel_all
+            get :cancel_all
           end
 
           member do
diff --git a/spec/features/builds_spec.rb b/spec/features/builds_spec.rb
index a339a1511127cdf5a139566d9c773edfed1c5ede..941e45408a746422d2f38927b6f3d160e2102d97 100644
--- a/spec/features/builds_spec.rb
+++ b/spec/features/builds_spec.rb
@@ -47,10 +47,10 @@ describe "Builds" do
     end
   end
 
-  describe "POST /:project/builds/:id/cancel_all" do
+  describe "GET /:project/builds/:id/cancel_all" do
     before do
       @build.run!
-      visit cancel_namespace_project_build_path(@gl_project.namespace, @gl_project, @build)
+      visit cancel_all_namespace_project_builds_path(@gl_project.namespace, @gl_project)
     end
 
     it { expect(page).to have_content 'All' }