diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index 92e44d5..2e00632 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -190,6 +190,8 @@
 
     def test_compile(self):
         compile('print 1\n', '', 'exec')
+        bom = '\xef\xbb\xbf'
+        compile(bom + 'print 1\n', '', 'exec')
         self.assertRaises(TypeError, compile)
         self.assertRaises(ValueError, compile, 'print 42\n', '<string>', 'badmode')
         self.assertRaises(ValueError, compile, 'print 42\n', '<string>', 'single', 0xff)
@@ -305,6 +307,8 @@
             self.assertEqual(eval(unicode('a'), globals, locals), 1)
             self.assertEqual(eval(unicode('b'), globals, locals), 200)
             self.assertEqual(eval(unicode('c'), globals, locals), 300)
+            bom = '\xef\xbb\xbf'
+            self.assertEqual(eval(bom + 'a', globals, locals), 1)
         self.assertRaises(TypeError, eval)
         self.assertRaises(TypeError, eval, ())
 
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index aaed637..4952a3c 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -506,14 +506,14 @@
 /* Fetch a byte from TOK, using the string buffer. */
 
 static int buf_getc(struct tok_state *tok) {
-	return *tok->str++;
+	return Py_CHARMASK(*tok->str++);
 }
 
 /* Unfetch a byte from TOK, using the string buffer. */
 
 static void buf_ungetc(int c, struct tok_state *tok) {
 	tok->str--;
-	assert(*tok->str == c);	/* tok->cur may point to read-only segment */
+	assert(Py_CHARMASK(*tok->str) == c);	/* tok->cur may point to read-only segment */
 }
 
 /* Set the readline function for TOK to ENC. For the string-based
