diff --git a/app/controllers/projects/labels_controller.rb b/app/controllers/projects/labels_controller.rb
index 87d1c942034950ed553e35674d9585b896b016da..6c7bde9c5d5544dac846842f48a3e5c26429379c 100644
--- a/app/controllers/projects/labels_controller.rb
+++ b/app/controllers/projects/labels_controller.rb
@@ -52,7 +52,7 @@ class Projects::LabelsController < Projects::ApplicationController
 
     respond_to do |format|
       format.html { redirect_to project_labels_path(@project), notice: 'Label was removed' }
-      format.js { render nothing: true }
+      format.js
     end
   end
 
diff --git a/app/views/projects/labels/destroy.js.haml b/app/views/projects/labels/destroy.js.haml
new file mode 100644
index 0000000000000000000000000000000000000000..1b4c83ab0979ff45905f9d5d17171015e80dc66d
--- /dev/null
+++ b/app/views/projects/labels/destroy.js.haml
@@ -0,0 +1,2 @@
+- if @project.labels.size == 0
+  $('.labels').load(document.URL + ' .light-well').hide().fadeIn(1000)
diff --git a/app/views/projects/labels/index.html.haml b/app/views/projects/labels/index.html.haml
index 075779a9c88611dd228e7cb61c2a5e8884f8e25a..06568278de8806fff198daaf54c2396c726831ac 100644
--- a/app/views/projects/labels/index.html.haml
+++ b/app/views/projects/labels/index.html.haml
@@ -7,11 +7,11 @@
   Labels
 %hr
 
-- if @labels.present?
-  %ul.bordered-list.manage-labels-list
-    = render @labels
-  = paginate @labels, theme: 'gitlab'
-
-- else
-  .light-well
-    .nothing-here-block Create first label or #{link_to 'generate', generate_project_labels_path(@project), method: :post} default set of labels
+.labels
+  - if @labels.present?
+    %ul.bordered-list.manage-labels-list
+      = render @labels
+    = paginate @labels, theme: 'gitlab'
+  - else
+    .light-well
+      .nothing-here-block Create first label or #{link_to 'generate', generate_project_labels_path(@project), method: :post} default set of labels
diff --git a/features/project/issues/labels.feature b/features/project/issues/labels.feature
index 29cf53072714f6a39b66188a263a35c3856a83e8..77ee5d8a6868728fa8590b07dd36b9f24c1b838a 100644
--- a/features/project/issues/labels.feature
+++ b/features/project/issues/labels.feature
@@ -24,6 +24,11 @@ Feature: Project Labels
     When I remove label 'bug'
     Then I should not see label 'bug'
 
+  @javascript
+  Scenario: I remove all labels
+    When I delete all labels
+    Then I should see labels help message
+
   Scenario: I create a label with invalid color
     Given I visit project "Shop" new label page
     When I submit new label with invalid color
diff --git a/features/steps/project/labels.rb b/features/steps/project/labels.rb
index 8320405e096fd855f8d99d0ef87490850e1bffe7..6dd4df8a1ad202d1d29911525b031b51c475d445 100644
--- a/features/steps/project/labels.rb
+++ b/features/steps/project/labels.rb
@@ -25,6 +25,22 @@ class ProjectLabels < Spinach::FeatureSteps
     end
   end
 
+  step 'I delete all labels' do
+    within '.labels' do
+      all('.btn-remove').each do |remove|
+        remove.click
+        sleep 0.05
+      end
+    end
+  end
+
+  step 'I should see labels help message' do
+    within '.labels' do
+      page.should have_content 'Create first label or generate default set of '\
+                               'labels'
+    end
+  end
+
   step 'I submit new label \'support\'' do
     fill_in 'Title', with: 'support'
     fill_in 'Background Color', with: '#F95610'