diff --git a/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py b/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
index 5a2b143..bb76d2b 100644
--- a/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
+++ b/designate_tempest_plugin/tests/api/v2/test_recordset_validation.py
@@ -14,6 +14,8 @@
 limitations under the License.
 """
 import ddt
+from tempest import config
+from tempest.lib.common.utils import test_utils as utils
 from tempest.lib import exceptions
 from tempest.lib import decorators
 
@@ -33,6 +35,8 @@
     'TXT',
 ]
 
+CONF = config.CONF
+
 
 @ddt.ddt
 class RecordsetValidationTest(base.BaseDnsV2Test):
@@ -41,6 +45,15 @@
         super(RecordsetValidationTest, self).setUp()
         self._zone = None
 
+    def tearDown(self):
+        if self._zone:
+            self.zones_client.delete_zone(self._zone['id'])
+            utils.call_until_true(self._check_zone_deleted,
+                                  CONF.dns.build_timeout,
+                                  CONF.dns.build_interval,
+                                  self._zone['id'])
+        super(RecordsetValidationTest, self).tearDown()
+
     @classmethod
     def setup_clients(cls):
         super(RecordsetValidationTest, cls).setup_clients()
@@ -54,7 +67,6 @@
             zone_data = data_utils.rand_zone_data()
             resp, body = self.zones_client.create_zone(**zone_data)
             self._zone = body
-            self.addCleanup(self.zones_client.delete_zone, body['id'])
         return self._zone
 
     def create_recordset(self, data):
@@ -63,6 +75,10 @@
 
         return body
 
+    def _check_zone_deleted(self, zone_id):
+        return utils.call_and_ignore_notfound_exc(self.zones_client.show_zone,
+                                                  zone_id) is None
+
     @decorators.idempotent_id('c5ef87e2-cb79-4758-b968-18eef2c251df')
     @ddt.data(*RECORDSETS_DATASET)
     def test_create_invalid(self, rtype):
