diff -r a4405b799e1b Lib/timeit.py --- a/Lib/timeit.py Thu Jul 07 12:59:31 2011 +0100 +++ b/Lib/timeit.py Thu Jul 07 16:57:43 2011 +0100 @@ -191,9 +191,11 @@ it = [None] * number gcold = gc.isenabled() gc.disable() - timing = self.inner(it, self.timer) - if gcold: - gc.enable() + try: + timing = self.inner(it, self.timer) + finally: + if gcold: + gc.enable() return timing def repeat(self, repeat=default_repeat, number=default_number):