diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py
index 314801d..91112e8 100644
--- a/Lib/test/test_trace.py
+++ b/Lib/test/test_trace.py
@@ -177,8 +177,28 @@
     def test_9_settrace_and_raise(self):
         self.run_test2(settrace_and_raise)
 
+class RaisingTraceFuncTestCase(unittest.TestCase):
+    def test_it(self):
+        def tr(frame, event, arg):
+            raise ValueError # just something that isn't RuntimeError
+        def f():
+            return 1
+        try:
+            for i in xrange(sys.getrecursionlimit() + 1):
+                sys.settrace(tr)
+                try:
+                    f()
+                except ValueError:
+                    pass
+                else:
+                    self.fail("exception not thrown!")
+        except RuntimeError:
+            self.fail("recursion counter not reset")
+            
+
 def test_main():
     test_support.run_unittest(TraceTestCase)
+    test_support.run_unittest(RaisingTraceFuncTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Python/ceval.c b/Python/ceval.c
index 362cd0b..4930433 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -636,6 +636,8 @@
 			if (call_trace(tstate->c_tracefunc, tstate->c_traceobj,
 				       f, PyTrace_CALL, Py_None)) {
 				/* Trace function raised an error */
+				--tstate->recursion_depth;
+				tstate->frame = f->f_back;
 				return NULL;
 			}
 		}
@@ -646,6 +648,8 @@
 				       tstate->c_profileobj,
 				       f, PyTrace_CALL, Py_None)) {
 				/* Profile function raised an error */
+				--tstate->recursion_depth;
+				tstate->frame = f->f_back;
 				return NULL;
 			}
 		}
