diff --git a/app/controllers/projects/labels_controller.rb b/app/controllers/projects/labels_controller.rb
index d049012f6d82691e86802bf68f0e1100d4170a46..87d1c942034950ed553e35674d9585b896b016da 100644
--- a/app/controllers/projects/labels_controller.rb
+++ b/app/controllers/projects/labels_controller.rb
@@ -50,7 +50,10 @@ def generate
   def destroy
     @label.destroy
 
-    redirect_to project_labels_path(@project), notice: 'Label was removed'
+    respond_to do |format|
+      format.html { redirect_to project_labels_path(@project), notice: 'Label was removed' }
+      format.js { render nothing: true }
+    end
   end
 
   protected
diff --git a/app/views/projects/labels/_label.html.haml b/app/views/projects/labels/_label.html.haml
index 725bf852078410c7caa155a1aff2e3c8b9c366f9..03a8f0921b7ec98824a101283c47c5bd687c0038 100644
--- a/app/views/projects/labels/_label.html.haml
+++ b/app/views/projects/labels/_label.html.haml
@@ -7,4 +7,4 @@
 
     - if can? current_user, :admin_label, @project
       = link_to 'Edit', edit_project_label_path(@project, label), class: 'btn'
-      = link_to 'Remove', project_label_path(@project, label), class: 'btn btn-remove', method: :delete, data: {confirm: "Remove this label? Are you sure?"}
+      = link_to 'Remove', project_label_path(@project, label), class: 'btn btn-remove remove-row', method: :delete, remote: true, data: {confirm: "Remove this label? Are you sure?"}