diff --git a/django/contrib/formtools/tests.py b/django/contrib/formtools/tests.py
index 2ea0cc9..42d0355 100644
--- a/django/contrib/formtools/tests.py
+++ b/django/contrib/formtools/tests.py
@@ -1,7 +1,9 @@
+import os
 from django import forms
 from django.contrib.formtools import preview
 from django import http
 from django.test import TestCase
+from django.conf import settings
 
 success_string = "Done was called!"
 test_data = {'field1': u'foo',
@@ -24,10 +26,18 @@ class PreviewTests(TestCase):
 
     def setUp(self):
         # Create a FormPreview instance to share between tests
+        # in the test runner use templates/tests/ to provide base.html
+        test_dir = os.path.join(os.path.dirname(__file__), 'templates', 'tests')
+        self.OLD_TEMPLATE_DIRS = settings.TEMPLATE_DIRS
+        if test_dir not in settings.TEMPLATE_DIRS:
+            settings.TEMPLATE_DIRS = settings.TEMPLATE_DIRS + (test_dir,)
         self.preview = preview.FormPreview(TestForm)
         input_template = '<input type="hidden" name="%s" value="%s" />'
         self.input = input_template % (self.preview.unused_name('stage'), "%d")
 
+    def tearDown(self):
+        settings.TEMPLATE_DIRS = self.OLD_TEMPLATE_DIRS
+
     def test_unused_name(self):
         """
         Verifies name mangling to get uniue field name.
