diff --git a/Lib/sre_compile.py b/Lib/sre_compile.py
index 3667042..c6398bf 100644
--- a/Lib/sre_compile.py
+++ b/Lib/sre_compile.py
@@ -80,7 +80,7 @@
     tolower = None
     fixes = None
     if flags & SRE_FLAG_IGNORECASE and not flags & SRE_FLAG_LOCALE:
-        if flags & SRE_FLAG_UNICODE and not flags & SRE_FLAG_ASCII:
+        if flags & SRE_FLAG_UNICODE:
             iscased = _sre.unicode_iscased
             tolower = _sre.unicode_tolower
             fixes = _ignorecase_fixes
@@ -196,7 +196,7 @@
                 av = AT_MULTILINE.get(av, av)
             if flags & SRE_FLAG_LOCALE:
                 av = AT_LOCALE.get(av, av)
-            elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII):
+            elif flags & SRE_FLAG_UNICODE:
                 av = AT_UNICODE.get(av, av)
             emit(av)
         elif op is BRANCH:
@@ -217,7 +217,7 @@
             emit(op)
             if flags & SRE_FLAG_LOCALE:
                 av = CH_LOCALE[av]
-            elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII):
+            elif flags & SRE_FLAG_UNICODE:
                 av = CH_UNICODE[av]
             emit(av)
         elif op is GROUPREF:
@@ -265,7 +265,7 @@
         elif op is CATEGORY:
             if flags & SRE_FLAG_LOCALE:
                 emit(CH_LOCALE[av])
-            elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII):
+            elif flags & SRE_FLAG_UNICODE:
                 emit(CH_UNICODE[av])
             else:
                 emit(av)
@@ -453,7 +453,7 @@
 def _get_iscased(flags):
     if not flags & SRE_FLAG_IGNORECASE:
         return None
-    elif flags & SRE_FLAG_UNICODE and not flags & SRE_FLAG_ASCII:
+    elif flags & SRE_FLAG_UNICODE:
         return _sre.unicode_iscased
     else:
         return _sre.ascii_iscased
