diff --git a/Lib/hotshot/stones.py b/Lib/hotshot/stones.py
index e171fbc..cd4c51d 100644
--- a/Lib/hotshot/stones.py
+++ b/Lib/hotshot/stones.py
@@ -5,27 +5,27 @@
 import sys
 import test.pystone
 
+def main(logfile):
+    p = hotshot.Profile(logfile)
+    benchtime, stones = p.runcall(test.pystone.pystones)
+    p.close()
 
-if sys.argv[1:]:
-    logfile = sys.argv[1]
-else:
-    import tempfile
-    logf = tempfile.NamedTemporaryFile()
-    logfile = logf.name
+    print "Pystone(%s) time for %d passes = %g" % \
+          (test.pystone.__version__, test.pystone.LOOPS, benchtime)
+    print "This machine benchmarks at %g pystones/second" % stones
 
-p = hotshot.Profile(logfile)
-benchtime, stones = p.runcall(test.pystone.pystones)
-p.close()
+    stats = hotshot.stats.load(logfile)
+    stats.strip_dirs()
+    stats.sort_stats('time', 'calls')
+    try:
+        stats.print_stats(20)
+    except IOError, e:
+        if e.errno != errno.EPIPE:
+            raise
 
-print "Pystone(%s) time for %d passes = %g" % \
-      (test.pystone.__version__, test.pystone.LOOPS, benchtime)
-print "This machine benchmarks at %g pystones/second" % stones
-
-stats = hotshot.stats.load(logfile)
-stats.strip_dirs()
-stats.sort_stats('time', 'calls')
-try:
-    stats.print_stats(20)
-except IOError, e:
-    if e.errno != errno.EPIPE:
-        raise
+if __name__ == '__main__':
+    if sys.argv[1:]:
+        main(sys.argv[1])
+    else:
+        import tempfile
+        main(tempfile.NamedTemporaryFile().name)
