Skip over doc strings.
diff --git a/Lib/compiler/future.py b/Lib/compiler/future.py
index 868b7cb..414e64e 100644
--- a/Lib/compiler/future.py
+++ b/Lib/compiler/future.py
@@ -22,7 +22,14 @@
 
     def visitModule(self, node):
         stmt = node.node
+        found_docstring = False
         for s in stmt.nodes:
+            # Skip over docstrings
+            if not found_docstring and isinstance(s, ast.Discard) \
+               and isinstance(s.expr, ast.Const) \
+               and isinstance(s.expr.value, str):
+                found_docstring = True
+                continue
             if not self.check_stmt(s):
                 break
 
@@ -50,7 +57,7 @@
             return
         if node.modname != "__future__":
             return
-        raise SyntaxError, "invalid future statement"
+        raise SyntaxError, "invalid future statement " + repr(node)
 
 def find_futures(node):
     p1 = FutureParser()
diff --git a/Misc/NEWS b/Misc/NEWS
index 2791cbe..164edc8 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -393,6 +393,8 @@
 Library
 -------
 
+- The compiler package now supports future imports after the module docstring.
+
 - Bug #1413790: zipfile now sanitizes absolute archive names that are
   not allowed by the specs.