diff --git a/gcc/cobol/parse.y b/gcc/cobol/parse.y
index 0e21040c5abab0e48313a9f6bfd6ccc4e6fa2cf2..0eb68fc4271e43a346fd8a9d5df3f0a7e6618e58 100644
--- a/gcc/cobol/parse.y
+++ b/gcc/cobol/parse.y
@@ -1964,7 +1964,7 @@ alphabet_etc:   alphabet_lit
                     yyerrorv("'%c' can be only a single letter", $1.data);
                     YYERROR;
                   }
-                  $$ = $1.data[0];
+                  $$ = (unsigned char)$1.data[0];
                 }
         |       spaces_etc {
 		  // For figurative constants, pass the synmbol table index,