diff --git a/pdf.c b/pdf.c
index 43108585e86bd1da1e7475b540b0d98329130a5b..ade5cd7bb405595491474ab416454bb1e53f57e4 100644
--- a/pdf.c
+++ b/pdf.c
@@ -874,8 +874,8 @@ init_parser(struct Env *aux)
 
 	/* AsciiHexDecode parser */
 	H_RULE(ahexeod,	h_ch('>'));
-	H_RULE(hdigitpair, SEQ(OPT(h_many(lwchar)), hdigit, OPT(h_many(lwchar)), hdigit));
-	H_ARULE(ahextruncated, SEQ(hdigit, OPT(h_many(lwchar)), ahexeod));
+	H_RULE(hdigitpair, SEQ(IGN(OPT(h_many(lwchar))), hdigit, IGN(OPT(h_many(lwchar))), hdigit));
+	H_ARULE(ahextruncated, SEQ(IGN(OPT(h_many(lwchar))), hdigit, IGN(OPT(h_many(lwchar))), ahexeod));
 
 	H_RULE(hs_end, CHX(hdigitpair, ahextruncated));
 	H_RULE(hexstream, SEQ(h_many(hdigitpair), hs_end));