diff --git a/README.rst b/README.rst
index bf9bba5..7206991 100644
--- a/README.rst
+++ b/README.rst
@@ -23,6 +23,6 @@
 
     tempest run --regex heat_tempest_plugin.tests
 
-If custom configuration is required, edit the [orchestration_plugin] section of
+If custom configuration is required, edit the [heat_plugin] section of
 
     $DEST/tempest/etc/tempest.conf
diff --git a/heat_tempest_plugin/common/test.py b/heat_tempest_plugin/common/test.py
index 97d8d8c..a0a8b5f 100644
--- a/heat_tempest_plugin/common/test.py
+++ b/heat_tempest_plugin/common/test.py
@@ -79,7 +79,7 @@
 
     The decorated test will be skipped when convergence is disabled.
     '''
-    plugin = config.CONF.orchestration_plugin
+    plugin = config.CONF.heat_plugin
     convergence_enabled = plugin.convergence_engine_enabled
     skipper = testtools.skipUnless(convergence_enabled,
                                    "Convergence-only tests are disabled")
@@ -92,7 +92,7 @@
     def setUp(self):
         super(HeatIntegrationTest, self).setUp()
 
-        self.conf = config.CONF.orchestration_plugin
+        self.conf = config.CONF.heat_plugin
 
         self.assertIsNotNone(self.conf.auth_url,
                              'No auth_url configured')
diff --git a/heat_tempest_plugin/config.py b/heat_tempest_plugin/config.py
index 65b870d..761eddc 100644
--- a/heat_tempest_plugin/config.py
+++ b/heat_tempest_plugin/config.py
@@ -18,12 +18,12 @@
                                        title="Available OpenStack Services")
 
 ServiceAvailableGroup = [
-    cfg.BoolOpt("orchestration_plugin",
+    cfg.BoolOpt("heat_plugin",
                 default=True,
                 help="Whether or not heat is expected to be available"),
 ]
 
-heat_group = cfg.OptGroup(name="orchestration_plugin",
+heat_group = cfg.OptGroup(name="heat_plugin",
                           title="Heat Service Options")
 
 HeatGroup = [
@@ -43,12 +43,12 @@
     cfg.StrOpt('project_name',
                help="Project name to use for API requests.",
                deprecated_opts=[cfg.DeprecatedOpt(
-                   'tenant_name', group='orchestration_plugin')]),
+                   'tenant_name', group='heat_plugin')]),
     cfg.StrOpt('admin_project_name',
                default='admin',
                help="Admin project name to use for admin API requests.",
                deprecated_opts=[cfg.DeprecatedOpt(
-                   'admin_tenant_name', group='orchestration_plugin')]),
+                   'admin_tenant_name', group='heat_plugin')]),
     cfg.StrOpt('auth_url',
                help="Full URI of the OpenStack Identity API (Keystone)."),
     cfg.StrOpt('auth_version',
diff --git a/heat_tempest_plugin/tests/api/test_heat_api.py b/heat_tempest_plugin/tests/api/test_heat_api.py
index 091edb3..3c8bd77 100644
--- a/heat_tempest_plugin/tests/api/test_heat_api.py
+++ b/heat_tempest_plugin/tests/api/test_heat_api.py
@@ -29,7 +29,7 @@
     """Provide a TestSuite to the discovery process."""
     test_dir = os.path.join(os.path.dirname(__file__), TESTS_DIR)
 
-    conf = config.CONF.orchestration_plugin
+    conf = config.CONF.heat_plugin
     if conf.auth_url is None:
         # It's not configured, let's not load tests
         return
