diff --git a/lightmotif-io/src/transfac/reader.rs b/lightmotif-io/src/transfac/reader.rs
index 6a8dcbf32e491c7b88b5f055121f36c06d1967c7..ef07ff90bcc742833fb6dbfa316556ea1787178b 100644
--- a/lightmotif-io/src/transfac/reader.rs
+++ b/lightmotif-io/src/transfac/reader.rs
@@ -84,7 +84,10 @@ impl<B: BufRead, A: Alphabet> Iterator for Reader<B, A> {
         }
 
         if !self.buffer.is_empty() {
-            let record = super::parse::parse_record::<A>(&self.buffer).unwrap().1;
+            let record = match super::parse::parse_record::<A>(&self.buffer) {
+                Err(e) => return Some(Err(Error::from(e))),
+                Ok(x) => x.1,
+            };
             self.buffer.clear();
             self.last = 0;
             Some(Ok(record))