diff --git a/lib/gitlab/ci/status/build/play.rb b/lib/gitlab/ci/status/build/play.rb
index 4c893f62925e3cd568c0fd1ddda05f3250747614..8130c7d1c90ef9efc6dc43396c7b66f4bfc247b2 100644
--- a/lib/gitlab/ci/status/build/play.rb
+++ b/lib/gitlab/ci/status/build/play.rb
@@ -6,7 +6,11 @@ module Gitlab
           include Status::Extended
 
           def label
-            'manual play action'
+            if has_action?
+              'manual play action'
+            else
+              'manual play action (not allowed)'
+            end
           end
 
           def has_action?
diff --git a/spec/lib/gitlab/ci/status/build/factory_spec.rb b/spec/lib/gitlab/ci/status/build/factory_spec.rb
index 2ab67127b1edd6559fe5c24f30ea5d71b24ba766..2de00c289450c90b3c2536ba045bd4831dbd32cc 100644
--- a/spec/lib/gitlab/ci/status/build/factory_spec.rb
+++ b/spec/lib/gitlab/ci/status/build/factory_spec.rb
@@ -216,7 +216,7 @@ describe Gitlab::Ci::Status::Build::Factory do
         expect(status.group).to eq 'manual'
         expect(status.icon).to eq 'icon_status_manual'
         expect(status.favicon).to eq 'favicon_status_manual'
-        expect(status.label).to eq 'manual play action'
+        expect(status.label).to include 'manual play action'
         expect(status).to have_details
         expect(status.action_path).to include 'play'
       end
diff --git a/spec/lib/gitlab/ci/status/build/play_spec.rb b/spec/lib/gitlab/ci/status/build/play_spec.rb
index 95f1388a9b971c695365d9117bc2e5d320c5fb60..abefdbe7c66caf7c1607e7bab3ce97327ad6c986 100644
--- a/spec/lib/gitlab/ci/status/build/play_spec.rb
+++ b/spec/lib/gitlab/ci/status/build/play_spec.rb
@@ -1,51 +1,58 @@
 require 'spec_helper'
 
 describe Gitlab::Ci::Status::Build::Play do
-  let(:status) { double('core') }
-  let(:user) { double('user') }
+  let(:user) { create(:user) }
+  let(:build) { create(:ci_build, :manual) }
+  let(:status) { Gitlab::Ci::Status::Core.new(build, user) }
 
   subject { described_class.new(status) }
 
-  describe '#label' do
-    it { expect(subject.label).to eq 'manual play action' }
-  end
-
-  describe 'action details' do
-    let(:user) { create(:user) }
-    let(:build) { create(:ci_build, :manual) }
-    let(:status) { Gitlab::Ci::Status::Core.new(build, user) }
+  context 'when user is allowed to update build' do
+    context 'when user can push to branch' do
+      before { build.project.add_master(user) }
 
-    describe '#has_action?' do
-      context 'when user is allowed to update build' do
-        context 'when user can push to branch' do
-          before { build.project.add_master(user) }
+      describe '#has_action?' do
+        it { is_expected.to have_action }
+      end
 
-          it { is_expected.to have_action }
+      describe '#label' do
+        it 'has a label that says it is a manual action' do
+          expect(subject.label).to eq 'manual play action'
         end
+      end
+    end
 
-        context 'when user can not push to the branch' do
-          before { build.project.add_developer(user) }
+    context 'when user can not push to the branch' do
+      before { build.project.add_developer(user) }
 
-          it { is_expected.not_to have_action }
-        end
+      describe 'has_action?' do
+        it { is_expected.not_to have_action }
       end
 
-      context 'when user is not allowed to update build' do
-        it { is_expected.not_to have_action }
+      describe '#label' do
+        it 'has a label that says user is not allowed to play it' do
+          expect(subject.label).to eq 'manual play action (not allowed)'
+        end
       end
     end
+  end
 
-    describe '#action_path' do
-      it { expect(subject.action_path).to include "#{build.id}/play" }
+  context 'when user is not allowed to update build' do
+    describe '#has_action?' do
+      it { is_expected.not_to have_action }
     end
+  end
 
-    describe '#action_icon' do
-      it { expect(subject.action_icon).to eq 'icon_action_play' }
-    end
+  describe '#action_path' do
+    it { expect(subject.action_path).to include "#{build.id}/play" }
+  end
 
-    describe '#action_title' do
-      it { expect(subject.action_title).to eq 'Play' }
-    end
+  describe '#action_icon' do
+    it { expect(subject.action_icon).to eq 'icon_action_play' }
+  end
+
+  describe '#action_title' do
+    it { expect(subject.action_title).to eq 'Play' }
   end
 
   describe '.matches?' do