diff --git a/tests/regressiontests/test_runner/tests.py b/tests/regressiontests/test_runner/tests.py
index c723f16..3f46465 100644
--- a/tests/regressiontests/test_runner/tests.py
+++ b/tests/regressiontests/test_runner/tests.py
@@ -279,3 +279,18 @@ class AutoIncrementResetTest(TransactionTestCase):
     def test_autoincrement_reset2(self):
         p = Person.objects.create(first_name='Jack', last_name='Smith')
         self.assertEqual(p.pk, 1)
+
+
+class MirrorDeadlockTest(TransactionTestCase):
+
+    def test_teardown_deadlock(self):
+        # This test only makes sense if your DATABASES setting uses TEST_MIRROR as follows.
+        from django.conf import settings
+        default = settings.DATABASES['default'].copy()
+        mirror = settings.DATABASES['mirror'].copy()
+        self.assertEqual(default.pop('TEST_MIRROR'), None)
+        self.assertEqual(mirror.pop('TEST_MIRROR'), 'default')
+        self.assertEqual(mirror, default)
+        # A raw SQL query will bypass Django's transaction management and leave a pending transaction.
+        db.connections['default'].cursor().execute('INSERT INTO test_runner_person (first_name, last_name) VALUES ("Adrian", "Holovaty")')
+        db.connections['mirror'].cursor().execute('INSERT INTO test_runner_person (first_name, last_name) VALUES ("Jacob", "Kaplan-Moss")')
