Index: Python/compile.c =================================================================== --- Python/compile.c (revision 43166) +++ Python/compile.c (working copy) @@ -4950,11 +4950,11 @@ PyCodeObject *co; if (!com_init(&sc, filename)) return NULL; - if (flags && flags->cf_flags & PyCF_SOURCE_IS_UTF8) { - sc.c_encoding = "utf-8"; - } else if (TYPE(n) == encoding_decl) { + if (TYPE(n) == encoding_decl) { sc.c_encoding = STR(n); n = CHILD(n, 0); + } else if (flags && flags->cf_flags & PyCF_SOURCE_IS_UTF8) { + sc.c_encoding = "utf-8"; } else { sc.c_encoding = NULL; }