diff --git a/pdf.c b/pdf.c
index 573cae8d27c43cdc948425c89c21c34aba738e60..93741d6854105c297403722cfc7f6021ac7684f2 100644
--- a/pdf.c
+++ b/pdf.c
@@ -1266,6 +1266,9 @@ ASCIIHexDecode(const Dict *parms, HBytes b, HParser *p)
 		return NULL;
 	}
 
+	assert(res->ast && res->ast->token_type == TT_BYTES);
+	res = h_parse(p, res->ast->bytes.token, res->ast->bytes.len);
+
 	return res;
 }
 
@@ -1285,6 +1288,9 @@ ASCII85Decode(const Dict *parms, HBytes b, HParser *p)
 		return NULL;
 	}
 
+	assert(res->ast && res->ast->token_type == TT_BYTES);
+	res = h_parse(p, res->ast->bytes.token, res->ast->bytes.len);
+
 	return res;
 }