diff -r 2a1c7d0fdde6 Python/symtable.c --- a/Python/symtable.c Mon Sep 12 12:00:23 2016 +0200 +++ b/Python/symtable.c Mon Sep 12 13:36:44 2016 +0200 @@ -1285,10 +1285,11 @@ if (cur & DEF_ANNOT) { msg = GLOBAL_ANNOT; } + /* error message is overwritten by more severe errors */ if (cur & DEF_LOCAL) { msg = GLOBAL_AFTER_ASSIGN; } - else { + if (cur & USE) { msg = GLOBAL_AFTER_USE; } PyErr_Format(PyExc_SyntaxError, @@ -1318,10 +1319,11 @@ if (cur & DEF_ANNOT) { msg = NONLOCAL_ANNOT; } + /* error message is overwritten by more severe errors */ if (cur & DEF_LOCAL) { msg = NONLOCAL_AFTER_ASSIGN; } - else { + if (cur & USE) { msg = NONLOCAL_AFTER_USE; } PyErr_Format(PyExc_SyntaxError, msg, name);