}
   else
     {
-      /* We have to keep this `#if YYDEBUG', since we use variables
-        which are defined only if `YYDEBUG' is set.  */
       YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc);
     }
 
 #endif /* YYERROR_VERBOSE */
        yyerror (]b4_yyerror_args["syntax error");
     }
-  goto yyerrlab1;
-
 
-/*----------------------------------------------------.
-| yyerrlab1 -- error raised explicitly by an action.  |
-`----------------------------------------------------*/
-yyerrlab1:
   if (yyerrstatus == 3)
     {
       /* If just tried and failed to reuse lookahead token after an
 
   /* Else will try to reuse lookahead token after shifting the error
      token.  */
+  goto yyerrlab1;
+
 
+/*----------------------------------------------------.
+| yyerrlab1 -- error raised explicitly by an action.  |
+`----------------------------------------------------*/
+yyerrlab1:
   yyerrstatus = 3;     /* Each real token shifted decrements this.  */
 
   for (;;)