diff --git a/src/knot/updates/xfr-in.c b/src/knot/updates/xfr-in.c
index 705790997c4bbb76c580cdce3a90844a7be983fc..584a77c75bbe6676b8c446f9d7db681523a18e14 100644
--- a/src/knot/updates/xfr-in.c
+++ b/src/knot/updates/xfr-in.c
@@ -311,8 +311,7 @@ int xfrin_process_axfr_packet(knot_ns_xfr_t *xfr, knot_zone_contents_t **zone)
 	}
 
 	// Init zone creator
-	zcreator_t zc = {.z = *zone,
-	                 .last_node = NULL, .ret = KNOT_EOK };
+	zcreator_t zc = {.z = *zone, .ret = KNOT_EOK };
 
 
 	while (ret == KNOT_EOK && rr) {
diff --git a/src/knot/zone/zone-create.c b/src/knot/zone/zone-create.c
index 9e11e0e7f3ec0e6dc2fe920e52b1e73c04cb6f9d..68d89c310735f80a3efcc59559de138dbe876837 100644
--- a/src/knot/zone/zone-create.c
+++ b/src/knot/zone/zone-create.c
@@ -88,17 +88,9 @@ int zcreator_step(zcreator_t *zc, knot_rrset_t *rr)
 		return KNOT_EOK;
 	}
 
-	knot_node_t *n;
-	if (zc->last_node &&
-	    knot_dname_is_equal(zc->last_node->owner, rr->owner)) {
-		// Reuse hint from last addition.
-		n = zc->last_node;
-	} else {
-		// Search for node or create a new one
-		n = NULL;
-	}
+	knot_node_t *node = NULL;
 	knot_rrset_t *zone_rrset = NULL;
-	int ret = knot_zone_contents_add_rr(zc->z, rr, &n, &zone_rrset);
+	int ret = knot_zone_contents_add_rr(zc->z, rr, &node, &zone_rrset);
 	if (ret < 0) {
 		if (!handle_err(zc, rr, ret)) {
 			// Fatal error
@@ -110,19 +102,18 @@ int zcreator_step(zcreator_t *zc, knot_rrset_t *rr)
 	} else if (ret > 0) {
 		knot_rrset_free(&rr, NULL);
 	}
-	assert(n);
+	assert(node);
 	assert(zone_rrset);
-	zc->last_node = n;
 
 	// Do RRSet and node semantic checks
 	bool sem_fatal_error = false;
 	err_handler_t err_handler;
 	err_handler_init(&err_handler);
-	ret = sem_check_rrset(n, zone_rrset, &err_handler);
+	ret = sem_check_rrset(node, zone_rrset, &err_handler);
 	if (ret != KNOT_EOK) {
 		return ret;
 	}
-	ret = sem_check_node_plain(zc->z, n,
+	ret = sem_check_node_plain(zc->z, node,
 	                           &err_handler, true,
 	                           &sem_fatal_error);
 	if (ret != KNOT_EOK) {
diff --git a/src/knot/zone/zone-create.h b/src/knot/zone/zone-create.h
index 65d6436586166fe78380ed26628a3ba6d0591399..c100b1a645b8f739719fd401b9b2b37601989d0b 100644
--- a/src/knot/zone/zone-create.h
+++ b/src/knot/zone/zone-create.h
@@ -37,7 +37,6 @@
  */
 typedef struct zcreator {
 	knot_zone_contents_t *z;  /*!< Created zone. */
-	knot_node_t *last_node;   /*!< Last used node, use to save zone lookup. */
 	int ret;                  /*!< Return value. */
 } zcreator_t;