diff --git a/tornado/gen.py b/tornado/gen.py
index 506697d..03d08ba 100644
--- a/tornado/gen.py
+++ b/tornado/gen.py
@@ -354,6 +354,7 @@
                             "finished without waiting for callbacks %r" %
                             self.pending_callbacks)
                     self.deactivate_stack_context()
+                    self.deactivate_stack_context = None
                     return
                 except Exception:
                     self.finished = True
diff --git a/tornado/stack_context.py b/tornado/stack_context.py
index 1843762..63f9ac4 100644
--- a/tornado/stack_context.py
+++ b/tornado/stack_context.py
@@ -129,6 +129,7 @@
             return self.context.__exit__(type, value, traceback)
         finally:
             _state.contexts = self.old_contexts
+            self.old_contexts = None
 
 
 class ExceptionStackContext(object):
diff --git a/tornado/test/gen_test.py b/tornado/test/gen_test.py
index d9ac9da..f2b2eb8 100644
--- a/tornado/test/gen_test.py
+++ b/tornado/test/gen_test.py
@@ -269,6 +269,28 @@
         initial_stack_depth = len(stack_context._state.contexts)
         self.run_gen(outer)
 
+        def test_stack_context_leak_exception(self):
+            # same as previous, but with a function that exits with an exception
+            from tornado import stack_context
+
+            @gen.engine
+            def inner(callback):
+                yield gen.Task(self.io_loop.add_callback)
+                1 / 0
+
+            @gen.engine
+            def outer():
+                for i in xrange(10):
+                    try:
+                        yield gen.Task(inner)
+                    except ZeroDivisionError:
+                        pass
+                stack_increase = len(stack_context._state.contexts) - initial_stack_depth
+                self.assertTrue(stack_increase <= 2)
+                self.stop()
+            initial_stack_depth = len(stack_context._state.contexts)
+            self.run_gen(outer)
+
 
 class GenSequenceHandler(RequestHandler):
     @asynchronous
