diff --git a/heat_tempest_plugin/common/test.py b/heat_tempest_plugin/common/test.py
index 6a5c526..8ac2488 100644
--- a/heat_tempest_plugin/common/test.py
+++ b/heat_tempest_plugin/common/test.py
@@ -109,6 +109,22 @@
     return decorator
 
 
+def requires_service(service):
+    '''Decorator for tests requiring a specific service being available.
+
+    The decorated test will be skipped when a service is not available. This
+    based on the [service_available] options implemented in tempest
+    '''
+    def decorator(test_method):
+        if not getattr(config.CONF.service_available, service, True):
+            skipper = testtools.skip(
+                "%s service not available, skipping test." % service)
+            return skipper(test_method)
+        else:
+            return test_method
+    return decorator
+
+
 def requires_service_type(service_type):
     '''Decorator for tests requiring a specific service being available.
 
@@ -125,7 +141,7 @@
                 service_type, conf.region, conf.endpoint_type)
         except kc_exceptions.EndpointNotFound:
             skipper = testtools.skip(
-                "%s service not available, skipping test." % service_type)
+                "%s service type not available, skipping test." % service_type)
             return skipper(test_method)
         else:
             return test_method
diff --git a/heat_tempest_plugin/tests/scenario/test_base_resources.py b/heat_tempest_plugin/tests/scenario/test_base_resources.py
index ddd8564..a84df93 100644
--- a/heat_tempest_plugin/tests/scenario/test_base_resources.py
+++ b/heat_tempest_plugin/tests/scenario/test_base_resources.py
@@ -17,6 +17,7 @@
 from heat_tempest_plugin.tests.scenario import scenario_base
 
 
+@test.requires_service('cinder')
 class BasicResourcesTest(scenario_base.ScenarioTestsBase):
 
     def setUp(self):
diff --git a/heat_tempest_plugin/tests/scenario/test_volumes.py b/heat_tempest_plugin/tests/scenario/test_volumes.py
index 3a179a9..d99ed62 100644
--- a/heat_tempest_plugin/tests/scenario/test_volumes.py
+++ b/heat_tempest_plugin/tests/scenario/test_volumes.py
@@ -25,6 +25,7 @@
 
 
 @test.requires_service_feature('volume', 'backup')
+@test.requires_service('cinder')
 class VolumeBackupRestoreIntegrationTest(scenario_base.ScenarioTestsBase):
     """Class is responsible for testing of volume backup."""
 
