diff --git a/Lib/lib2to3/refactor.py b/Lib/lib2to3/refactor.py
index 2edf4db..74a4053 100755
--- a/Lib/lib2to3/refactor.py
+++ b/Lib/lib2to3/refactor.py
@@ -28,15 +28,6 @@
 from . import fixes
 from . import pygram
 
-if sys.version_info < (2, 4):
-    hdlr = logging.StreamHandler()
-    fmt = logging.Formatter('%(name)s: %(message)s')
-    hdlr.setFormatter(fmt)
-    logging.root.addHandler(hdlr)
-else:
-    logging.basicConfig(format='%(name)s: %(message)s', level=logging.INFO)
-
-
 def main(args=None):
     """Main program.
 
@@ -73,6 +64,15 @@
         print >>sys.stderr, "Use --help to show usage."
         return 2
 
+    # Set up logging handler
+    if sys.version_info < (2, 4):
+        hdlr = logging.StreamHandler()
+        fmt = logging.Formatter('%(name)s: %(message)s')
+        hdlr.setFormatter(fmt)
+        logging.root.addHandler(hdlr)
+    else:
+        logging.basicConfig(format='%(name)s: %(message)s', level=logging.INFO)
+
     # Initialize the refactoring tool
     rt = RefactoringTool(options)
 
