diff --git a/src/postorius/tests/mailman_api_tests/test_address_activation.py b/src/postorius/tests/mailman_api_tests/test_address_activation.py
index f276bfb..2e4ddf0 100644
--- a/src/postorius/tests/mailman_api_tests/test_address_activation.py
+++ b/src/postorius/tests/mailman_api_tests/test_address_activation.py
@@ -48,12 +48,6 @@
         self.mm_user = self.mm_client.create_user(
                 'subscribed@example.org', 'password')
 
-    def tearDown(self):
-        self.profile.delete()
-        self.expired.delete()
-        self.user.delete()
-        self.mm_user.delete()
-
     def test_valid_email_is_valid(self):
         form = AddressActivationForm({'email': 'very_new_email@example.org'})
         self.assertTrue(form.is_valid())
@@ -92,11 +86,6 @@
         # Create a test request object
         self.request = RequestFactory().get('/')
 
-    def tearDown(self):
-        self.profile.delete()
-        self.user.delete()
-        mail.outbox = []
-
     def test_profile_creation(self):
         # Profile is created and has all necessary properties.
         self.assertEqual(self.profile.email, u'les@example.org')
@@ -170,11 +159,6 @@
                 email=u'les@example.org', user=self.user)
         self.profile.save()
 
-    def tearDown(self):
-        self.profile.delete()
-        self.user.delete()
-        self.mm_user.delete()
-
     def test_add_address(self):
         # An activation key pointing to a valid profile adds the address
         # to the user.
diff --git a/src/postorius/tests/mailman_api_tests/test_domain_delete.py b/src/postorius/tests/mailman_api_tests/test_domain_delete.py
index bf34a73..e5b7fbe 100644
--- a/src/postorius/tests/mailman_api_tests/test_domain_delete.py
+++ b/src/postorius/tests/mailman_api_tests/test_domain_delete.py
@@ -47,18 +47,6 @@
         self.foo_list.add_moderator('moderator@example.com')
         self.url = reverse('domain_delete', args=['example.com'])
 
-    def tearDown(self):
-        self.user.delete()
-        self.superuser.delete()
-        self.owner.delete()
-        self.moderator.delete()
-        try:
-            self.domain.delete()
-        except HTTPError as e:
-            # The domain was deleted by a test
-            if e.code != 404:
-                raise
-
     def test_access_anonymous(self):
         # Anonymous users users can't delete domains
         self.assertRedirectsToLogin(self.url)
diff --git a/src/postorius/tests/mailman_api_tests/test_domain_index.py b/src/postorius/tests/mailman_api_tests/test_domain_index.py
index 3884cc7..14e8a91 100644
--- a/src/postorius/tests/mailman_api_tests/test_domain_index.py
+++ b/src/postorius/tests/mailman_api_tests/test_domain_index.py
@@ -49,14 +49,6 @@
         self.foo_list.add_owner('owner@example.com')
         self.foo_list.add_moderator('moderator@example.com')
 
-    def tearDown(self):
-        self.foo_list.delete()
-        self.user.delete()
-        self.superuser.delete()
-        self.owner.delete()
-        self.moderator.delete()
-        self.domain.delete()
-
     def test_domain_index_not_accessible_to_public(self):
         # The list index page should contain the lists
         response = self.client.get(reverse('domain_index'))
diff --git a/src/postorius/tests/mailman_api_tests/test_domain_new.py b/src/postorius/tests/mailman_api_tests/test_domain_new.py
index 5db2fca..1337c83 100644
--- a/src/postorius/tests/mailman_api_tests/test_domain_new.py
+++ b/src/postorius/tests/mailman_api_tests/test_domain_new.py
@@ -37,14 +37,6 @@
         self.superuser = User.objects.create_superuser('su', 'su@example.com',
                                                        'pwd')
 
-    def tearDown(self):
-        self.user.delete()
-        self.superuser.delete()
-        try:
-            self.mm_client.delete_domain('example.com')
-        except HTTPError:
-            pass
-
     def test_permission_denied(self):
         self.client.login(username='user', password='pwd')
         self.assertRedirectsToLogin(reverse('domain_new'))
diff --git a/src/postorius/tests/mailman_api_tests/test_list_bans.py b/src/postorius/tests/mailman_api_tests/test_list_bans.py
index 9d5bdb7..afca78a 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_bans.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_bans.py
@@ -39,12 +39,6 @@
         self.client.login(username="test_superuser", password='pwd')
         self.url = reverse('list_bans', args=['test_list.example.com'])
 
-    def tearDown(self):
-        self.test_user.delete()
-        self.test_superuser.delete()
-        self.m_list.delete()
-        self.domain.delete()
-
     def test_login_redirect_for_anonymous(self):
         self.client.logout()
         response = self.client.get(self.url)
diff --git a/src/postorius/tests/mailman_api_tests/test_list_header_matches.py b/src/postorius/tests/mailman_api_tests/test_list_header_matches.py
index bb6e542..dc708d1 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_header_matches.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_header_matches.py
@@ -45,14 +45,6 @@
         self.mlist.add_owner('owner@example.com')
         self.mlist.add_moderator('moderator@example.com')
 
-    def tearDown(self):
-        self.user.delete()
-        self.superuser.delete()
-        self.owner.delete()
-        self.moderator.delete()
-        self.mlist.delete()
-        self.domain.delete()
-
     def test_page_not_accessible_if_not_logged_in(self):
         url = reverse('list_header_matches', args=['list.example.com'])
         self.assertRedirectsToLogin(url)
diff --git a/src/postorius/tests/mailman_api_tests/test_list_index.py b/src/postorius/tests/mailman_api_tests/test_list_index.py
index 90de59b..96a3f3e 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_index.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_index.py
@@ -31,11 +31,6 @@
         self.foo_list = self.domain.create_list('foo')
         self.bar_list = self.domain.create_list('bar')
 
-    def tearDown(self):
-        for mlist in self.mm_client.lists:
-            mlist.delete()
-        self.domain.delete()
-
     def test_list_index_contains_the_lists(self):
         # The list index page should contain the lists
         response = self.client.get(reverse('list_index'))
diff --git a/src/postorius/tests/mailman_api_tests/test_list_members.py b/src/postorius/tests/mailman_api_tests/test_list_members.py
index 615b89e..2c3dc74 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_members.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_members.py
@@ -44,14 +44,6 @@
         self.foo_list.add_owner('owner@example.com')
         self.foo_list.add_moderator('moderator@example.com')
 
-    def tearDown(self):
-        self.foo_list.delete()
-        self.user.delete()
-        self.superuser.delete()
-        self.owner.delete()
-        self.moderator.delete()
-        self.domain.delete()
-
     def test_page_not_accessible_if_not_logged_in(self):
         url = reverse('list_members', args=('foo@example.com', 'subscriber',))
         self.assertRedirectsToLogin(url)
diff --git a/src/postorius/tests/mailman_api_tests/test_list_new.py b/src/postorius/tests/mailman_api_tests/test_list_new.py
index 2ba1073..cb3bae5 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_new.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_new.py
@@ -33,13 +33,6 @@
                                                        'pwd')
         self.domain = self.mm_client.create_domain('example.com')
 
-    def tearDown(self):
-        self.user.delete()
-        self.superuser.delete()
-        for mlist in self.mm_client.lists:
-            mlist.delete()
-        self.domain.delete()
-
     def test_permission_denied(self):
         self.client.login(username='user', password='pwd')
         self.assertRedirectsToLogin(reverse('list_new'))
diff --git a/src/postorius/tests/mailman_api_tests/test_list_settings.py b/src/postorius/tests/mailman_api_tests/test_list_settings.py
index b0c145f..04ff952 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_settings.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_settings.py
@@ -47,14 +47,6 @@
         self.foo_list.add_owner('owner@example.com')
         self.foo_list.add_moderator('moderator@example.com')
 
-    def tearDown(self):
-        self.foo_list.delete()
-        self.user.delete()
-        self.superuser.delete()
-        self.owner.delete()
-        self.moderator.delete()
-        self.domain.delete()
-
     def test_page_not_accessible_if_not_logged_in(self):
         for section_name in SETTINGS_FORMS:
             url = reverse('list_settings', args=('foo.example.com',
diff --git a/src/postorius/tests/mailman_api_tests/test_list_summary.py b/src/postorius/tests/mailman_api_tests/test_list_summary.py
index e993ec2..c5edeb8 100644
--- a/src/postorius/tests/mailman_api_tests/test_list_summary.py
+++ b/src/postorius/tests/mailman_api_tests/test_list_summary.py
@@ -36,14 +36,6 @@
         self.foo_list = self.domain.create_list('foo')
         User.objects.create_user('testuser', 'test@example.com', 'testpass')
 
-    def tearDown(self):
-        for mlist in self.mm_client.lists:
-            mlist.delete()
-        for user in self.mm_client.users:
-            user.delete()
-        User.objects.all().delete()
-        self.domain.delete()
-
     def test_list_summary_logged_out(self):
         # Response must contain list obj but not the form.
         response = self.client.get(reverse('list_summary',
diff --git a/src/postorius/tests/mailman_api_tests/test_models.py b/src/postorius/tests/mailman_api_tests/test_models.py
index f9dd260..0dfad43 100644
--- a/src/postorius/tests/mailman_api_tests/test_models.py
+++ b/src/postorius/tests/mailman_api_tests/test_models.py
@@ -34,14 +34,6 @@
         self.domain = self.mm_client.create_domain('example.com')
         self.foo_list = self.domain.create_list('foo')
 
-    def tearDown(self):
-        for mlist in self.mm_client.lists:
-            mlist.delete()
-        for user in self.mm_client.users:
-            user.delete()
-        User.objects.all().delete()
-        self.domain.delete()
-
     def test_mailman_user_not_created_when_flag_is_off(self):
         with self.settings(AUTOCREATE_MAILMAN_USER=False):
             User.objects.create_user('testuser', 'test@example.com',
diff --git a/src/postorius/tests/mailman_api_tests/test_profile.py b/src/postorius/tests/mailman_api_tests/test_profile.py
index 2f8ff3c..a36ec23 100644
--- a/src/postorius/tests/mailman_api_tests/test_profile.py
+++ b/src/postorius/tests/mailman_api_tests/test_profile.py
@@ -42,11 +42,6 @@
         self.client.post(reverse('user_login'),
                          {'username': 'les', 'password': 'secret'})
 
-    def tearDown(self):
-        # Log out and delete user.
-        self.client.logout()
-        self.user.delete()
-
     def test_view_contains_form(self):
         # The view context should contain a form.
         response = self.client.get(reverse('user_profile'))
diff --git a/src/postorius/tests/mailman_api_tests/test_subscriptions.py b/src/postorius/tests/mailman_api_tests/test_subscriptions.py
index 2f226ed..df47e8a 100644
--- a/src/postorius/tests/mailman_api_tests/test_subscriptions.py
+++ b/src/postorius/tests/mailman_api_tests/test_subscriptions.py
@@ -47,16 +47,12 @@
         self.mm_user.add_address('fritz@example.org').verify()
 
     def tearDown(self):
-        # Delete all subscription requests
+        # XXX remove the method if core cleares requests on list deletion
         for req in self.open_list.requests:
             self.open_list.moderate_request(req['token'], 'discard')
         for req in self.mod_list.requests:
             self.mod_list.moderate_request(req['token'], 'discard')
-        self.open_list.delete()
-        self.mod_list.delete()
-        self.mm_user.delete()
-        self.domain.delete()
-        User.objects.all().delete()
+        super(TestSubscription, self).tearDown()
 
     def test_subscribe_open(self):
         # The subscription goes straight through.
diff --git a/src/postorius/tests/mailman_api_tests/test_user.py b/src/postorius/tests/mailman_api_tests/test_user.py
index adda5d9..81566c6 100644
--- a/src/postorius/tests/mailman_api_tests/test_user.py
+++ b/src/postorius/tests/mailman_api_tests/test_user.py
@@ -39,12 +39,6 @@
             'user', 'user@example.com', 'testpass')
         self.mm_user = MailmanUser.objects.create_from_django(self.user)
 
-    def tearDown(self):
-        self.foo_list.delete()
-        self.mm_user.delete()
-        self.user.delete()
-        self.domain.delete()
-
     def test_address_preferences_not_logged_in(self):
         self.assertRedirectsToLogin(reverse('user_address_preferences'))
 
diff --git a/src/postorius/tests/utils.py b/src/postorius/tests/utils.py
index 6de3dcf..850519b 100644
--- a/src/postorius/tests/utils.py
+++ b/src/postorius/tests/utils.py
@@ -114,6 +114,12 @@
             self.cassette = cm.__enter__()
             self.addCleanup(cm.__exit__, None, None, None)
 
+    def tearDown(self):
+        for d in self.mm_client.domains:
+            d.delete()
+        for u in self.mm_client.users:
+            u.delete()
+
     def assertHasSuccessMessage(self, response):
         msgs = get_flash_messages(response)
         self.assertEqual(len(msgs), 1)