diff --git a/designate_tempest_plugin/clients.py b/designate_tempest_plugin/clients.py
index 5f4f728..52e3577 100644
--- a/designate_tempest_plugin/clients.py
+++ b/designate_tempest_plugin/clients.py
@@ -27,7 +27,7 @@
     ZoneImportsClient
 from designate_tempest_plugin.services.dns.v2.json.blacklists_client import \
     BlacklistsClient
-from designate_tempest_plugin.services.dns.admin.json.quotas_client import \
+from designate_tempest_plugin.services.dns.v2.json.quotas_client import \
     QuotasClient
 from designate_tempest_plugin.services.dns.v2.json.zone_exports_client import \
     ZoneExportsClient
@@ -37,6 +37,8 @@
     PoolClient
 from designate_tempest_plugin.services.dns.v2.json.tld_client import \
     TldClient
+from designate_tempest_plugin.services.dns.admin.json.quotas_client import \
+    QuotasClient as AdminQuotaClient
 from designate_tempest_plugin.services.dns.query.query_client import \
     QueryClient
 from designate_tempest_plugin.services.dns.v2.json.transfer_request_client \
@@ -112,6 +114,28 @@
         return params
 
 
+class ManagerAdmin(clients.Manager):
+
+    def __init__(self, credentials=None, service=None):
+        super(ManagerAdmin, self).__init__(credentials, service)
+        self._init_clients(self._get_params())
+
+    def _init_clients(self, params):
+        self.quotas_client = AdminQuotaClient(**params)
+
+    def _get_params(self):
+        params = dict(self.default_params)
+        params.update({
+            'auth_provider': self.auth_provider,
+            'service': CONF.dns.catalog_type,
+            'region': CONF.identity.region,
+            'endpoint_type': CONF.dns.endpoint_type,
+            'build_interval': CONF.dns.build_interval,
+            'build_timeout': CONF.dns.build_timeout
+        })
+        return params
+
+
 class ManagerV2Unauthed(ManagerV2):
 
     def __init__(self, credentials=None, service=None):
