diff --git a/Lib/email/__init__.py b/Lib/email/__init__.py
index 0a6a72d..f01260f 100644
--- a/Lib/email/__init__.py
+++ b/Lib/email/__init__.py
@@ -72,14 +72,14 @@
 import sys
 
 class LazyImporter(object):
-  def __init__(self, module_name):
-      self.__name__ = 'email.' + module_name
+    def __init__(self, module_name):
+        self.__name__ = 'email.' + module_name
 
-  def __getattr__(self, name):
-      __import__(self.__name__)
-      mod = sys.modules[self.__name__]
-      self.__dict__.update(mod.__dict__)
-      return getattr(mod, name)
+    def __getattr__(self, name):
+        __import__(self.__name__)
+        mod = sys.modules[self.__name__]
+        self.__dict__.update(mod.__dict__)
+        return getattr(mod, name)
 
 
 _LOWERNAMES = [
diff --git a/Lib/test/test_wait3.py b/Lib/test/test_wait3.py
index a1cbd7b..f6a41a6 100644
--- a/Lib/test/test_wait3.py
+++ b/Lib/test/test_wait3.py
@@ -18,9 +18,9 @@
 class Wait3Test(ForkWait):
     def wait_impl(self, cpid):
         while 1:
-           spid, status, rusage = os.wait3(0)
-           if spid == cpid:
-               break
+            spid, status, rusage = os.wait3(0)
+            if spid == cpid:
+                break
         self.assertEqual(spid, cpid)
         self.assertEqual(status, 0, "cause = %d, exit = %d" % (status&0xff, status>>8))
         self.assertTrue(rusage)
