diff --git a/py/compile.c b/py/compile.c
index fe0e4cb5d27d1d119c9eb8fd0b5b2d1b755e59e2..2b56d83e745f21f132fb89715c68ec2007b47e75 100644
--- a/py/compile.c
+++ b/py/compile.c
@@ -1987,6 +1987,7 @@ STATIC void compile_try_except(compiler_t *comp, mp_parse_node_t pn_body, int n_
             // this is a catch all exception handler
             if (i + 1 != n_except) {
                 compile_syntax_error(comp, pn_excepts[i], "default 'except:' must be last");
+                compile_decrease_except_level(comp);
                 return;
             }
         } else {