diff --git a/ironic_tempest_plugin/tests/api/base.py b/ironic_tempest_plugin/tests/api/base.py
index 6ebb162..59f2f94 100644
--- a/ironic_tempest_plugin/tests/api/base.py
+++ b/ironic_tempest_plugin/tests/api/base.py
@@ -76,6 +76,8 @@
 
         cfg_min_version = CONF.baremetal.min_microversion
         cfg_max_version = CONF.baremetal.max_microversion
+
+        # Check versions and skip based upon *configuration*
         api_version_utils.check_skip_with_microversion(cls.min_microversion,
                                                        cls.max_microversion,
                                                        cfg_min_version,
@@ -100,6 +102,15 @@
         else:
             cls.client = cls.os_admin.baremetal.BaremetalClient()
 
+        # Skip the test if the class version doesn't match.
+        if cls.min_microversion or cls.max_microversion:
+            api_min, api_max = cls.client.get_min_max_api_microversions()
+            api_version_utils.check_skip_with_microversion(
+                cls.min_microversion,
+                cls.max_microversion,
+                api_min,
+                api_max)
+
     @classmethod
     def resource_setup(cls):
         super(BaseBaremetalTest, cls).resource_setup()
diff --git a/ironic_tempest_plugin/tests/scenario/baremetal_manager.py b/ironic_tempest_plugin/tests/scenario/baremetal_manager.py
index 27b3c9d..9ceecb7 100644
--- a/ironic_tempest_plugin/tests/scenario/baremetal_manager.py
+++ b/ironic_tempest_plugin/tests/scenario/baremetal_manager.py
@@ -82,6 +82,7 @@
         super(BaremetalScenarioTest, cls).skip_checks()
         if not CONF.service_available.ironic:
             raise cls.skipException('Ironic is not enabled.')
+        # This is the configuration based skip test
         cfg_min_version = CONF.baremetal.min_microversion
         cfg_max_version = CONF.baremetal.max_microversion
         api_version_utils.check_skip_with_microversion(cls.min_microversion,
@@ -96,6 +97,17 @@
             client = cls.os_system_admin.baremetal.BaremetalClient()
         else:
             client = cls.os_admin.baremetal.BaremetalClient()
+
+        # This is the automatic based upon remote version skip check,
+        # as it requires an API client to obtain the remote version.
+        if cls.min_microversion or cls.max_microversion:
+            api_min, api_max = client.get_min_max_api_microversions()
+            api_version_utils.check_skip_with_microversion(
+                cls.min_microversion,
+                cls.max_microversion,
+                api_min,
+                api_max)
+
         cls.baremetal_client = client
 
     @classmethod
