diff --git a/manila_tempest_tests/tests/api/test_rules.py b/manila_tempest_tests/tests/api/test_rules.py
index 9064df3..99ac254 100644
--- a/manila_tempest_tests/tests/api/test_rules.py
+++ b/manila_tempest_tests/tests/api/test_rules.py
@@ -167,6 +167,7 @@
     def test_create_delete_ro_access_rule(self, version):
         _create_delete_ro_access_rule(self, version)
 
+    @utils.skip_if_microversion_not_supported('2.88')
     @decorators.idempotent_id('01940881-6f95-77f8-b47d-0941c4e6bafb')
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @testtools.skipIf(
@@ -196,6 +197,7 @@
     def test_create_delete_ro_access_rule(self, version):
         _create_delete_ro_access_rule(self, version)
 
+    @utils.skip_if_microversion_not_supported('2.88')
     @decorators.idempotent_id('02940881-6f95-77f8-b47d-0941c4e6bafb')
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     @testtools.skipIf(
diff --git a/manila_tempest_tests/tests/api/test_rules_negative.py b/manila_tempest_tests/tests/api/test_rules_negative.py
index 91ee0b5..37ba385 100644
--- a/manila_tempest_tests/tests/api/test_rules_negative.py
+++ b/manila_tempest_tests/tests/api/test_rules_negative.py
@@ -368,13 +368,14 @@
                           CONF.share.username_for_user_rules,
                           'su')
 
+    @utils.skip_if_microversion_not_supported('2.88')
     @decorators.idempotent_id('d5b1e7c9-7e6b-4918-a1c4-e03c8d82c46a')
     @tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
-    def test_update_access_rule_with_worng_level(self):
+    def test_update_access_rule_with_wrong_level(self):
         access_type, access_to = utils.get_access_rule_data_from_config(
             self.protocol)
         if access_type != 'ip':
-            msg = "Currently support update for only access_type 'ip'."
+            msg = "Access rule updates supported only for 'ip' access."
             raise self.skipException(msg)
 
         rule = self.allow_access(
diff --git a/manila_tempest_tests/tests/rbac/test_rules.py b/manila_tempest_tests/tests/rbac/test_rules.py
index cce3d08..4c86787 100644
--- a/manila_tempest_tests/tests/rbac/test_rules.py
+++ b/manila_tempest_tests/tests/rbac/test_rules.py
@@ -159,14 +159,15 @@
         self.assertIn(access['id'], access_list)
         self.assertNotIn(alt_access['id'], alt_access_list)
 
+    @utils.skip_if_microversion_not_supported('2.88')
     @decorators.idempotent_id('01939b69-ef9b-75cf-abf7-5171fec7c397')
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     def test_update_access(self):
         access_type, access_to = (
             utils.get_access_rule_data_from_config(self.protocol))
         if access_type != 'ip':
-            message = "Currently support update for only access_type 'ip'."
-            raise self.skipException(message)
+            msg = "Access rule updates supported only for 'ip' access."
+            raise self.skipException(msg)
 
         access = self.allow_access(self.share_member_client, self.share['id'])
         rule = self.do_request(
@@ -315,14 +316,15 @@
         self.assertIn(access['id'], access_id_list)
         self.assertNotIn(alt_access['id'], access_id_list)
 
+    @utils.skip_if_microversion_not_supported('2.88')
     @decorators.idempotent_id('02939b69-ef9b-75cf-abf7-5171fec7c397')
     @tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
     def test_update_access(self):
         access_type, access_to = (
             utils.get_access_rule_data_from_config(self.protocol))
         if access_type != 'ip':
-            message = "Currently support update for only access_type 'ip'."
-            raise self.skipException(message)
+            msg = "Access rule updates supported only for 'ip' access."
+            raise self.skipException(msg)
 
         share_client = getattr(self, 'share_member_client', self.client)
         access = self.allow_access(share_client, self.share['id'])
