diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py
index 6c7e588..590e45f 100644
--- a/Lib/sre_compile.py
+++ b/Lib/sre_compile.py
@@ -118,7 +118,7 @@
         elif op is AT:
             emit(OPCODES[op])
             if flags & SRE_FLAG_MULTILINE:
-                emit(ATCODES[AT_MULTILINE[av]])
+                emit(ATCODES[AT_MULTILINE.get(av, av)])
             else:
                 emit(ATCODES[av])
         elif op is BRANCH:
@@ -203,7 +203,7 @@
     if type(p) in (type(""), type(u"")):
         import sre_parse
         pattern = p
-        p = sre_parse.parse(p)
+        p = sre_parse.parse(p, flags)
     else:
         pattern = None
 
diff --git a/Lib/sre_parse.py b/Lib/sre_parse.py
index 660bae6..53616f6 100644
--- a/Lib/sre_parse.py
+++ b/Lib/sre_parse.py
@@ -31,7 +31,7 @@
 OCTDIGITS = tuple("01234567")
 HEXDIGITS = tuple("0123456789abcdefABCDEF")
 
-WHITESPACE = string.whitespace
+WHITESPACE = tuple(string.whitespace)
 
 ESCAPES = {
     r"\a": (LITERAL, 7),
@@ -296,7 +296,7 @@
     subpattern.append((BRANCH, (None, items)))
     return subpattern
 
-def _parse(source, state, flags=0):
+def _parse(source, state):
 
     # parse regular expression pattern into an operator list.
 
@@ -468,7 +468,7 @@
                     char = source.get()
                     b = []
                     while 1:
-                        p = _parse(source, state, flags)
+                        p = _parse(source, state)
                         if source.next == ")":
                             if b:
                                 b.append(p)
@@ -495,7 +495,7 @@
                 else:
                     group = state.getgroup(name)
                 while 1:
-                    p = _parse(source, state, flags)
+                    p = _parse(source, state)
                     if source.match(")"):
                         if b:
                             b.append(p)
@@ -532,9 +532,10 @@
     # parse 're' pattern into list of (opcode, argument) tuples
     source = Tokenizer(pattern)
     state = State()
+    state.flags = flags
     b = []
     while 1:
-        p = _parse(source, state, flags)
+        p = _parse(source, state)
         tail = source.get()
         if tail == "|":
             b.append(p)
