diff --git a/gcc/cobol/scan.l b/gcc/cobol/scan.l
index 5b0e553ec26a52e8c1522e79d11f3958e0f00c5a..7ee809bc5d4593c271fccfe4266cbbba7d99b520 100644
--- a/gcc/cobol/scan.l
+++ b/gcc/cobol/scan.l
@@ -1489,7 +1489,7 @@ USE({SPC}FOR)?		{ return USE; }
 
   EXIT{SPC}/(PROGRAM|SECTION|PARAGRAPH|PERFORM) {
 			  return EXIT; }
-  EXIT{OSPC}/[.]	{ return SIMPLE_EXIT; }
+  EXIT{OSPC}/{DOTSEP}	{ return SIMPLE_EXIT; }
   EXIT 			{ return EXIT; } // (PROGRAM|SECTION|PARAGRAPH|PERFORM)
   RETURNING             { return RETURNING; }
 
@@ -1499,8 +1499,9 @@ USE({SPC}FOR)?		{ return USE; }
   STACK                 { return STACK; }
   TOP-LEVEL             { return TOP_LEVEL; }
 
-  {NAME}/{SPC}SECTION\b { yylval.string = strdup(yytext);
-                          return NAME; }
+  {NAME}/{SPC}SECTION{OSPC}{DOTSEP} {
+				    yylval.string = strdup(yytext);
+				    return NAME; }
 
   (IS{SPC})?POSITIVE/[[:space:]]  { yylval.number =  IS; return POSITIVE; }
   (IS{SPC})?NEGATIVE/[[:space:]]  { yylval.number =  IS; return NEGATIVE; }