diff --git a/manila_tempest_tests/config.py b/manila_tempest_tests/config.py
index 0f9cc69..ab50c34 100644
--- a/manila_tempest_tests/config.py
+++ b/manila_tempest_tests/config.py
@@ -104,6 +104,10 @@
                      "False if the driver being tested does not support "
                      "creating shares from snapshots."),
     cfg.BoolOpt("capability_revert_to_snapshot_support",
+                deprecated_for_removal=True,
+                deprecated_reason="Redundant configuration option. Please use "
+                                  "'run_revert_to_snapshot_tests' config "
+                                  "option instead.",
                 help="Defines extra spec that satisfies specific back end "
                      "capability called 'revert_to_snapshot_support' "
                      "and will be used for setting up custom share type. "
diff --git a/manila_tempest_tests/plugin.py b/manila_tempest_tests/plugin.py
index 7e1fa12..dfec0b1 100644
--- a/manila_tempest_tests/plugin.py
+++ b/manila_tempest_tests/plugin.py
@@ -50,12 +50,6 @@
                 conf.share.run_snapshot_tests,
                 group="share",
             )
-        if conf.share.capability_revert_to_snapshot_support is None:
-            conf.set_default(
-                "capability_revert_to_snapshot_support",
-                conf.share.run_revert_to_snapshot_tests,
-                group="share",
-            )
 
     def get_opt_lists(self):
         return [(config_share.share_group.name, config_share.ShareGroup),
diff --git a/manila_tempest_tests/tests/api/base.py b/manila_tempest_tests/tests/api/base.py
index 260e85d..de298da 100644
--- a/manila_tempest_tests/tests/api/base.py
+++ b/manila_tempest_tests/tests/api/base.py
@@ -805,8 +805,6 @@
             CONF.share.capability_snapshot_support)
         create_from_snapshot_support = six.text_type(
             CONF.share.capability_create_share_from_snapshot_support)
-        revert_to_snapshot_support = six.text_type(
-            CONF.share.capability_revert_to_snapshot_support)
 
         extra_specs_dict = {
             "driver_handles_share_servers": dhss,
@@ -815,7 +813,6 @@
         optional = {
             "snapshot_support": snapshot_support,
             "create_share_from_snapshot_support": create_from_snapshot_support,
-            "revert_to_snapshot_support": revert_to_snapshot_support,
         }
         # NOTE(gouthamr): In micro-versions < 2.24, snapshot_support is a
         # required extra-spec
diff --git a/manila_tempest_tests/tests/api/test_revert_to_snapshot.py b/manila_tempest_tests/tests/api/test_revert_to_snapshot.py
index 91eca02..156a396 100644
--- a/manila_tempest_tests/tests/api/test_revert_to_snapshot.py
+++ b/manila_tempest_tests/tests/api/test_revert_to_snapshot.py
@@ -37,9 +37,6 @@
         if not CONF.share.run_revert_to_snapshot_tests:
             msg = "Revert to snapshot tests are disabled."
             raise cls.skipException(msg)
-        if not CONF.share.capability_revert_to_snapshot_support:
-            msg = "Revert to snapshot support is disabled."
-            raise cls.skipException(msg)
         if not CONF.share.capability_snapshot_support:
             msg = "Snapshot support is disabled."
             raise cls.skipException(msg)
@@ -85,8 +82,10 @@
             cls.share_zone = cls.zones[0]
             cls.replica_zone = cls.zones[-1]
 
-            extra_specs = cls.add_extra_specs_to_dict(
-                {"replication_type": cls.replication_type})
+            extra_specs = cls.add_extra_specs_to_dict({
+                "replication_type": cls.replication_type,
+                constants.REVERT_TO_SNAPSHOT_SUPPORT: True,
+            })
             share_type = cls.create_share_type(
                 cls.replicated_share_type_name,
                 extra_specs=extra_specs,
diff --git a/manila_tempest_tests/tests/api/test_revert_to_snapshot_negative.py b/manila_tempest_tests/tests/api/test_revert_to_snapshot_negative.py
index ee403af..505a614 100644
--- a/manila_tempest_tests/tests/api/test_revert_to_snapshot_negative.py
+++ b/manila_tempest_tests/tests/api/test_revert_to_snapshot_negative.py
@@ -37,9 +37,6 @@
         if not CONF.share.run_revert_to_snapshot_tests:
             msg = "Revert to snapshot tests are disabled."
             raise cls.skipException(msg)
-        if not CONF.share.capability_revert_to_snapshot_support:
-            msg = "Revert to snapshot support is disabled."
-            raise cls.skipException(msg)
         if not CONF.share.capability_snapshot_support:
             msg = "Snapshot support is disabled."
             raise cls.skipException(msg)
