Index: django/contrib/formtools/templates/formtools/wizard_form.html
===================================================================
--- django/contrib/formtools/templates/formtools/wizard_form.html	(revision 0)
+++ django/contrib/formtools/templates/formtools/wizard_form.html	(revision 0)
@@ -0,0 +1,13 @@
+{% extends "base.html" %}
+
+{% block content %}
+<p>Step {{ step }} of {{ step_count }}</p>
+<form action="." method="post">
+<table>
+{{ form }}
+</table>
+<input type="hidden" name="{{ step_field }}" value="{{ step0 }}" />
+{{ previous_fields|safe }}
+<input type="submit">
+</form>
+{% endblock %}
Index: django/contrib/formtools/tests.py
===================================================================
--- django/contrib/formtools/tests.py	(revision 7363)
+++ django/contrib/formtools/tests.py	(working copy)
@@ -1,5 +1,5 @@
 from django import newforms as forms
-from django.contrib.formtools import preview
+from django.contrib.formtools import preview, wizard
 from django import http
 from django.conf import settings
 from django.test import TestCase
@@ -86,3 +86,48 @@
         response = self.client.post('/test1/', test_data)
         self.assertEqual(response.content, success_string)
 
+class WizardPageOneForm(forms.Form):
+    field = forms.CharField()
+    
+class WizardPageTwoForm(forms.Form):
+    field = forms.CharField()
+    
+class WizardClass(wizard.FormWizard):
+
+    def get_template(self, step):
+        return "formtools/wizard_form.html"
+    
+    def done(self, request, cleaned_data):
+        return http.HttpResponse(success_string)
+
+class DummyRequest(object):
+    """
+    We'll pass this as request instead of a real request object
+    """
+    
+    def __init__(self, POST=None):
+        self.method = "GET"
+        self.POST = None
+        if POST:
+            self.method = "POST"
+            self.POST = POST
+
+class WizardTests(TestCase):
+    def test_step_starts_at_zero(self):
+        """
+        step should be zero for the first form
+        """
+        wizard = WizardClass([WizardPageOneForm, WizardPageTwoForm])
+        request = DummyRequest()
+        wizard(request)
+        self.assertEquals(0, wizard.step)
+        
+    def test_step_increments(self):
+        """
+        step should be incremented when we go to the next page
+        """
+        wizard = WizardClass([WizardPageOneForm, WizardPageTwoForm])
+        request = DummyRequest(POST={"0-field":"test", "wizard_step":"0"})
+        response = wizard(request)
+        self.assertEquals(1, wizard.step)
+        
\ No newline at end of file
Index: django/contrib/formtools/wizard.py
===================================================================
--- django/contrib/formtools/wizard.py	(revision 7363)
+++ django/contrib/formtools/wizard.py	(working copy)
@@ -90,7 +90,7 @@
             # Otherwise, move along to the next step.
             else:
                 form = self.get_form(next_step)
-                current_step = next_step
+                self.step = current_step = next_step
 
         return self.render(form, request, current_step)
 
@@ -209,7 +209,7 @@
         """
         context = context or {}
         context.update(self.extra_context)
-        return render_to_response(self.get_template(self.step), dict(context,
+        return render_to_response(self.get_template(step), dict(context,
             step_field=self.step_field_name,
             step0=step,
             step=step + 1,
