diff --git a/src/knot/zone/semantic-check.c b/src/knot/zone/semantic-check.c
index 5463270a2e88ed40ec5ade42b8504b00f9f5e539..b80f4bd33286a40dbc19009832e75f2bfecf910b 100644
--- a/src/knot/zone/semantic-check.c
+++ b/src/knot/zone/semantic-check.c
@@ -798,7 +798,7 @@ static int sem_check_node_optional(const knot_zone_contents_t *zone,
 				memcpy(wildcard, "\x1""*", 2);
 				knot_dname_to_wire(wildcard + 2,
 				                   knot_wire_next_label(ns_dname, NULL),
-				                   sizeof(wildcard));
+				                   sizeof(wildcard) - 2);
 				const knot_node_t *wildcard_node =
 					knot_zone_contents_find_node(zone,
 				                                     wildcard);