diff --git a/tcp_tests/tests/system/test_mcp_update.py b/tcp_tests/tests/system/test_mcp_update.py
index ffbccf5..20c3a3f 100644
--- a/tcp_tests/tests/system/test_mcp_update.py
+++ b/tcp_tests/tests/system/test_mcp_update.py
@@ -197,8 +197,7 @@
 @pytest.mark.usefixtures("switch_to_proposed_pipelines",
                          "update_to_tag",
                          "wa_for_galera_clustercheck_password_prod35705",
-                         "wa_for_alerta_password_prod35958",
-                         "wa_cve_2021_20288_global_id_reclaim")
+                         "wa_for_alerta_password_prod35958")
 class TestUpdateMcpCluster(object):
     """
     Following the steps in
@@ -594,17 +593,20 @@
     @pytest.mark.grab_versions
     @pytest.mark.parametrize("_", [settings.ENV_NAME])
     @pytest.mark.run_mcp_update
-    def test_update_ceph(self, salt_actions, drivetrain_actions, show_step, _):
+    def test_update_ceph(self, salt_actions, drivetrain_actions,
+                         reclass_actions, show_step, _):
         """ Updates Ceph to the latest minor version
 
         Scenario:
             1. Add workaround for unhealth Ceph
             2. Start ceph-upgrade job with default parameters
             3. Check Ceph version for all nodes
+            4. WA id_reclaim only for nautilus
 
         https://docs.mirantis.com/mcp/master/mcp-operations-guide/update-upgrade/minor-update/ceph-update.html
         """
         salt = salt_actions
+        reclass = reclass_actions
         dt = drivetrain_actions
 
         # ###################### Add workaround for unhealth Ceph ############
@@ -630,6 +632,17 @@
 
         assert has_only_similar(ceph_version_by_nodes), ceph_version_by_nodes
 
+        # ########## WA id_reclaim only for nautilus #########################
+        show_step(4)
+
+        ceph_version = salt_actions.get_single_pillar(
+            "I@salt:master",
+            "_param:_param:ceph_version")
+        if ceph_version == "nautilus":
+            wa_cve_2021_20288_global_id_reclaim(reclass, salt)
+        else:
+            LOG.info("Skip WA for luminous")
+
     @pytest.mark.grab_versions
     @pytest.mark.parametrize("_", [settings.ENV_NAME])
     @pytest.mark.run_mcp_update
