diff --git a/examples/dns.c b/examples/dns.c
index 81afa7cb1266cda0c5c0a142574ff14d1a179561..ec8f7128c6247bedcc3308a952bdc303cd24fa01 100644
--- a/examples/dns.c
+++ b/examples/dns.c
@@ -72,9 +72,12 @@ parser_t* init_parser() {
 				  int_range(uint16(), 255, 255),
 				  NULL);
 
-  const parser_t *dns_question = sequence(length_value(uint8(), uint8()), // QNAME
-					  qtype,                          // QTYPE
-					  qclass,                         // QCLASS
+  const parser_t *dns_question = sequence(sequence(many1(length_value(uint8(), 
+								      uint8())), 
+						   ch('\x00'),
+						   NULL),  // QNAME
+					  qtype,           // QTYPE
+					  qclass,          // QCLASS
 					  NULL);
 
   const parser_t *letter = choice(ch_range('a', 'z'),