diff --git a/app/views/shared/issuable/_filter.html.haml b/app/views/shared/issuable/_filter.html.haml
index ffe8d4fbdbf839f1791825bf73544a79b9e20a49..4f8ea7e7cef830dd668b60b79e9d35b2a4026587 100644
--- a/app/views/shared/issuable/_filter.html.haml
+++ b/app/views/shared/issuable/_filter.html.haml
@@ -27,9 +27,7 @@
           = render "shared/issuable/label_dropdown"
 
         .pull-right
-          - if controller.controller_name != 'boards'
-            = render 'shared/sort_dropdown'
-          - if can?(current_user, :admin_list, @project)
+          - if controller.controller_name == 'boards' && can?(current_user, :admin_list, @project)
             .dropdown
               %button.btn.btn-create.js-new-board-list{ type: "button", data: { toggle: "dropdown", labels: labels_filter_path, project_id: @project.try(:id) } }
                 Create new list
@@ -38,6 +36,8 @@
                 - if can?(current_user, :admin_label, @project)
                   = render partial: "shared/issuable/label_page_create"
                 = dropdown_loading
+          - else
+            = render 'shared/sort_dropdown'
 
     - if controller.controller_name == 'issues'
       .issues_bulk_update.hide
diff --git a/spec/features/projects/issues/list_spec.rb b/spec/features/projects/issues/list_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..3137af074cac5e791d83bdaffe10682025a2a54b
--- /dev/null
+++ b/spec/features/projects/issues/list_spec.rb
@@ -0,0 +1,20 @@
+require 'spec_helper'
+
+feature 'Issues List' do
+  let(:user) { create(:user) }
+  let(:project) { create(:empty_project) }
+
+  background do
+    project.team << [user, :developer]
+
+    login_as(user)
+  end
+
+  scenario 'user does not see create new list button' do
+    create(:issue, project: project)
+
+    visit namespace_project_issues_path(project.namespace, project)
+
+    expect(page).not_to have_selector('.js-new-board-list')
+  end
+end
diff --git a/spec/features/projects/merge_requests/list_spec.rb b/spec/features/projects/merge_requests/list_spec.rb
new file mode 100644
index 0000000000000000000000000000000000000000..5dd58ad66a768ba16d3c34c83b6fa43a3549150b
--- /dev/null
+++ b/spec/features/projects/merge_requests/list_spec.rb
@@ -0,0 +1,20 @@
+require 'spec_helper'
+
+feature 'Merge Requests List' do
+  let(:user) { create(:user) }
+  let(:project) { create(:project) }
+
+  background do
+    project.team << [user, :developer]
+
+    login_as(user)
+  end
+
+  scenario 'user does not see create new list button' do
+    create(:merge_request, source_project: project)
+
+    visit namespace_project_merge_requests_path(project.namespace, project)
+
+    expect(page).not_to have_selector('.js-new-board-list')
+  end
+end