diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y
index 070aad4f5b7c5019b3c44cf1658c1b21bf9817ab..3a90d685eed8b3e9b5e8f2e8e5b425fcbd1f43da 100644
--- a/gcc/cobol/parse.y
+++ b/gcc/cobol/parse.y
@@ -9826,8 +9826,8 @@ keyword_of( const char name[] ) {
 
 const char *
 keyword_str( int token ) {
-  if( token == YYEOF ) return "YYEOF";
-  if( token == YYEOF ) return "YYEMPTY";
+  if( token == YYEOF )   return "YYEOF";
+  if( token == YYEMPTY ) return "YYEMPTY";
 
   if( token < 255 ) {
     static char ascii[2];
@@ -9859,7 +9859,7 @@ keyword_str( int token ) {
  * All function names are rejected here; the lexer uses typed_name to check
  * REPOSITORY names.
  */
-  static struct kw_t { const char *lexeme, *name; } kws[] = {
+static struct kw_t { const char *lexeme, *name; } kws[] = {
     { "CODE_SET", "CODESET" },
     { "DATA", "DATA_DIV" },
     { "ENVIRONMENT", "ENVIRONMENT_DIV" },
@@ -9876,7 +9876,7 @@ keyword_str( int token ) {
     { "STRING", "STRING_kw" },
     { "THROUGH", "THRU" },
     { "TRUE", "TRUE_kw" },
-  }, *eokws = kws + COUNT_OF(kws);
+}, *eokws = kws + COUNT_OF(kws);
 
 class tokenset_t {
   std::map <std::string, int> tokens;
@@ -9952,7 +9952,7 @@ class tokenset_t {
 };
 
 int
- keyword_tok( const char * text, bool include_intrinsics ) {
+keyword_tok( const char * text, bool include_intrinsics ) {
   static auto last = std::find_if(yytname + 3, yytname + COUNT_OF(yytname),
                                   [] ( const char *name ) {
                                     return 0 == strcmp(name, "$accept"); });
diff --git a/gcc/cobol/scan_post.h b/gcc/cobol/scan_post.h
index 71a95304847e29dbf6d0305de90f7e0c5dc9529c..c9ed774f1eb818d335d069381dafd67deab52fa4 100644
--- a/gcc/cobol/scan_post.h
+++ b/gcc/cobol/scan_post.h
@@ -268,31 +268,29 @@ prelex() {
    * The final, rejected CDF token might be a LEVEL number. 
    */
   if( YY_START == field_state && level_needed() ) { 
-    if( token == final_token ) {
-      switch( token ) {
-      case NUMSTR:
-	if( yy_flex_debug ) warnx("final token is NUMSTR");
-	yylval.number = level_of(yylval.numstr.string);
-	token = LEVEL;
+    switch( token ) {
+    case NUMSTR:
+      if( yy_flex_debug ) warnx("final token is NUMSTR");
+      yylval.number = level_of(yylval.numstr.string);
+      token = LEVEL;
+      break;
+    case YDF_NUMBER:
+      if( yy_flex_debug ) warnx("final token is YDF_NUMBER");
+      yylval.number = ydflval.number;
+      token = LEVEL;
+      break;
+    }
+    if( token == LEVEL ) {
+      switch(yylval.number) {
+      case 66:
+	token = LEVEL66;
 	break;
-      case YDF_NUMBER:
-	if( yy_flex_debug ) warnx("final token is YDF_NUMBER");
-	yylval.number = ydflval.number;
-	token = LEVEL;
+      case 78:
+	token = LEVEL78;
+	break;
+      case 88:
+	token = LEVEL78;
 	break;
-      }
-      if( token == LEVEL ) {
-	switch(yylval.number) {
-	case 66:
-	  token = LEVEL66;
-	  break;
-	case 78:
-	  token = LEVEL78;
-	  break;
-	case 88:
-	  token = LEVEL78;
-	  break;
-	}
       }
     }
   }