diff --git a/src/escape.rs b/src/escape.rs
index 2adf06b..eb30d90 100644
--- a/src/escape.rs
+++ b/src/escape.rs
@@ -122,6 +122,35 @@
     }
 }
 
+pub fn cooked_byte(input: &str) -> IResult<&str, u8> {
+    let mut bytes = input.bytes().enumerate();
+    let b = match bytes.next().map(|(_, b)| b) {
+        Some(b'\\') => {
+            match bytes.next().map(|(_, b)| b) {
+                Some(b'x') => backslash_x_byte(&mut bytes),
+                Some(b'n') => Some(b'\n'),
+                Some(b'r') => Some(b'\r'),
+                Some(b't') => Some(b'\t'),
+                Some(b'\\') => Some(b'\\'),
+                Some(b'0') => Some(b'\0'),
+                Some(b'\'') => Some(b'\''),
+                Some(b'"') => Some(b'"'),
+                _ => None,
+            }
+        }
+        b => b,
+    };
+    match b {
+        Some(b) => {
+            match bytes.next() {
+                Some((offset, _)) => IResult::Done(&input[offset..], b),
+                None => IResult::Done("", b),
+            }
+        }
+        None => IResult::Error,
+    }
+}
+
 pub fn raw_string(input: &str) -> IResult<&str, (String, usize)> {
     let mut chars = input.char_indices();
     let mut n = 0;
diff --git a/src/lit.rs b/src/lit.rs
index 4829803..857832d 100644
--- a/src/lit.rs
+++ b/src/lit.rs
@@ -129,7 +129,7 @@
 #[cfg(feature = "parsing")]
 pub mod parsing {
     use super::*;
-    use escape::{cooked_byte_string, cooked_char, cooked_string, raw_string};
+    use escape::{cooked_byte, cooked_byte_string, cooked_char, cooked_string, raw_string};
     use space::skip_whitespace;
     use nom::IResult;
     use unicode_xid::UnicodeXID;
@@ -181,9 +181,9 @@
     named!(byte -> Lit, do_parse!(
         punct!("b") >>
         tag!("'") >>
-        ch: cooked_char >>
+        b: cooked_byte >>
         tag!("'") >>
-        (Lit::Byte(ch as u8))
+        (Lit::Byte(b))
     ));
 
     named!(character -> Lit, do_parse!(
diff --git a/tests/cases/lit.rs b/tests/cases/lit.rs
index b9e43ea..257d045 100644
--- a/tests/cases/lit.rs
+++ b/tests/cases/lit.rs
@@ -25,6 +25,7 @@
     b'\n'
     b'"'
     b'\''
+    b'\x91'
 
     // Char
     '0'
