diff --git a/src/lexer.h b/src/lexer.h
index 3a1596be7f0a88de70ff7dcdaeebfa0c2fbf06c4..4705ca14ecb3214f1bea5fc3fc4e2757817adf3d 100644
--- a/src/lexer.h
+++ b/src/lexer.h
@@ -223,6 +223,11 @@ int parse_esc_seq (WCHAR *buf, p_wchar2 *chr, ptrdiff_t *len)
       c = (p_wchar2)n;
       break;
     }
+
+    case '8': case '9':
+      if( Pike_compiler->compiler_pass == 1 )
+	yywarning("%c is not a valid octal digit.", c);
+      break;
       
     case 'x': {
       unsigned of = 0;