diff --git a/ironic_tempest_plugin/services/introspection_client.py b/ironic_tempest_plugin/services/introspection_client.py
index 3b1a75b..f82aed6 100644
--- a/ironic_tempest_plugin/services/introspection_client.py
+++ b/ironic_tempest_plugin/services/introspection_client.py
@@ -17,13 +17,14 @@
 
 
 CONF = config.CONF
-ADMIN_CREDS = common_creds.get_configured_admin_credentials()
 
 
 class Manager(clients.Manager):
     def __init__(self,
-                 credentials=ADMIN_CREDS,
+                 credentials=None,
                  api_microversions=None):
+        if not credentials:
+            credentials = common_creds.get_configured_admin_credentials()
         super(Manager, self).__init__(credentials)
         self.introspection_client = BaremetalIntrospectionClient(
             self.auth_provider,
diff --git a/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py b/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py
index de2dada..980ac3c 100644
--- a/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py
+++ b/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py
@@ -12,6 +12,7 @@
 
 from tempest.lib import decorators
 
+from ironic_tempest_plugin.tests.api.admin import api_microversion_fixture
 from ironic_tempest_plugin.tests.api.admin import base
 
 
@@ -20,6 +21,8 @@
 
     @decorators.idempotent_id('a3c27e94-f56c-42c4-8600-d6790650b9c5')
     def test_api_versions(self):
+        self.useFixture(
+            api_microversion_fixture.APIMicroversionFixture(None))
         _, descr = self.client.get_api_description()
         expected_versions = ('v1',)
         versions = [version['id'] for version in descr['versions']]
@@ -29,6 +32,8 @@
 
     @decorators.idempotent_id('896283a6-488e-4f31-af78-6614286cbe0d')
     def test_default_version(self):
+        self.useFixture(
+            api_microversion_fixture.APIMicroversionFixture(None))
         _, descr = self.client.get_api_description()
         default_version = descr['default_version']
         self.assertEqual('v1', default_version['id'])
