diff --git a/app/assets/javascripts/labels_select.js.coffee b/app/assets/javascripts/labels_select.js.coffee
index d37d17e086daca20f86121e95553dcb9a4e00d08..2a497c2e804a39d8b322db6e91207d5835d284d9 100644
--- a/app/assets/javascripts/labels_select.js.coffee
+++ b/app/assets/javascripts/labels_select.js.coffee
@@ -306,7 +306,7 @@ class @LabelsSelect
             $labelInputs = $dropdownParent.find "input[name='#{@fieldName}']"
 
             # Find the label by its attribute according the dropdown settings
-            if $dropdown.hasClass 'js-issuable-form-dropdown'
+            if $dropdown.hasClass('js-issuable-form-dropdown') or $dropdown.hasClass('js-filter-bulk-update')
               # When settings labels to a issuable we find the label for its ID
               whereQuery = { id: parseInt $labelInputs.first().val() }
             else
diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb
index 114cf804d6fe0512e1f71dedfa06c6aa894b26eb..305ec71bd6cff15bdab0f432b72be4263f6ee595 100644
--- a/app/helpers/issuables_helper.rb
+++ b/app/helpers/issuables_helper.rb
@@ -7,7 +7,7 @@ module IssuablesHelper
     "right-sidebar-#{sidebar_gutter_collapsed? ? 'collapsed' : 'expanded'}"
   end
 
-  def multi_label_name(current_labels, default_label)
+  def multi_label_name(current_labels, param, default_label)
     # current_labels may be a string from before
     if current_labels.is_a?(Array) && current_labels.any?
       title = current_labels[0].try(:title) || current_labels[0]
@@ -23,7 +23,11 @@ module IssuablesHelper
         current_labels
       end
     else
-      default_label
+      if !param.empty?
+        param
+      else
+        default_label
+      end
     end
   end
 
@@ -73,6 +77,10 @@ module IssuablesHelper
     end
   end
 
+  def selected_labels(project, labelQuery)
+    Label.where(labelQuery.merge(project_id: project))
+  end
+
   private
 
   def sidebar_gutter_collapsed?
diff --git a/app/views/shared/issuable/_label_dropdown.html.haml b/app/views/shared/issuable/_label_dropdown.html.haml
index 113447d48b773414e6e7592dc754c2b7b01573ba..dc8f09b09c8316e208ff2246029f61cda7e9c7b0 100644
--- a/app/views/shared/issuable/_label_dropdown.html.haml
+++ b/app/views/shared/issuable/_label_dropdown.html.haml
@@ -1,4 +1,4 @@
-- project = @target_project || @project
+- project = @target_project || @project || @projects
 - show_create = local_assigns.fetch(:show_create, true)
 - extra_options = local_assigns.fetch(:extra_options, true)
 - filter_submit = local_assigns.fetch(:filter_submit, true)
@@ -18,15 +18,15 @@
 - if selected_toggle.present?
   - labelQuery = { title: selected_toggle }
 - if labelQuery
-  - selected = project.labels.where(labelQuery)
+  - selected = selected_labels(project, labelQuery)
   - selected.each do |label|
     - id = label.try(:id) || label
     - title = label.try(:title) || label
     = hidden_field_tag data_options[:field_name], useId ? id : title, id: nil, data: { title: title }
 .dropdown
   %button.dropdown-menu-toggle.js-label-select.js-multiselect{class: classes.join(' '), type: "button", data: dropdown_data}
-    %span.dropdown-toggle-text{ class: ("is-default" if selected.nil?) }
-      = h(multi_label_name(selected.to_a, "Label"))
+    %span.dropdown-toggle-text{ class: ("is-default" if selected.nil? || selected.to_a.size == 0) }
+      = h(multi_label_name(selected.to_a, h(selected_toggle.to_a[0]), "Label"))
     = icon('chevron-down')
   .dropdown-menu.dropdown-select.dropdown-menu-paging.dropdown-menu-labels.dropdown-menu-selectable
     = render partial: "shared/issuable/label_page_default", locals: { title: "Filter by label", show_footer: show_footer, show_create: show_create }