diff --git a/src/lexer.h b/src/lexer.h
index 57f1bf22d6fb987870cbe0087e19b3d2a08b88c9..833dbf50d6efaca864ee745133e942b0e14d814b 100644
--- a/src/lexer.h
+++ b/src/lexer.h
@@ -487,6 +487,14 @@ static int low_yylex(struct lex *lex, YYSTYPE *yylval)
 	case TWO_CHAR('a','r'):
 	  if(ISWORD("array")) return TOK_ARRAY_ID;
 	  break;
+	case TWO_CHAR('a','u'):
+	  if(ISWORD("auto")) {
+	    if (Pike_compiler->compiler_pass == 1) {
+	      yywarning("auto will soon be a reserved keyword.");
+	    }
+	    break;
+	  }
+	  break;
 	case TWO_CHAR('b','r'):
 	  if(ISWORD("break")) return TOK_BREAK;
 	  break;
@@ -500,6 +508,12 @@ static int low_yylex(struct lex *lex, YYSTYPE *yylval)
 	case TWO_CHAR('c','o'):
 	  if(ISWORD("constant")) return TOK_CONSTANT;
 	  if(ISWORD("continue")) return TOK_CONTINUE;
+	  if(ISWORD("const")) {
+	    if (Pike_compiler->compiler_pass == 1) {
+	      yywarning("const will soon be a reserved keyword.");
+	    }
+	    break;
+	  }
 	  break;
 	case TWO_CHAR('d','e'):
 	  if(ISWORD("default")) return TOK_DEFAULT;