diff --git a/lib/layer/iterate.c b/lib/layer/iterate.c
index 5e9b1afabe5d7385e8ec791fa51301a59a5042b5..2a72c6623cd9e590eb0345ba15322c712e838d1f 100644
--- a/lib/layer/iterate.c
+++ b/lib/layer/iterate.c
@@ -217,8 +217,6 @@ static int update_cut(knot_pkt_t *pkt, const knot_rrset_t *rr, struct kr_request
 
 	/* Update zone cut name */
 	if (!knot_dname_is_equal(rr->owner, cut->name)) {
-		mm_free(cut->pool, cut->parent_name);
-		cut->parent_name = cut->name; cut->name = NULL;
 		kr_zonecut_set(cut, rr->owner);
 		state = KNOT_STATE_DONE;
 	}
diff --git a/lib/zonecut.c b/lib/zonecut.c
index 3a3baa41fb05fd84cc4cacc49988ceadb72f2259..d3b857ab88cd1b330cc1bae581c3d3dd6f9d1c1d 100644
--- a/lib/zonecut.c
+++ b/lib/zonecut.c
@@ -72,8 +72,6 @@ int kr_zonecut_init(struct kr_zonecut *cut, const knot_dname_t *name, mm_ctx_t *
 	cut->pool = pool;
 	cut->key  = NULL;
 	cut->trust_anchor = NULL;
-	cut->parent_name = NULL;
-	cut->missing_name = NULL;
 	cut->nsset = map_make();
 	cut->nsset.malloc = (map_alloc_f) mm_alloc;
 	cut->nsset.free = (map_free_f) mm_free;
@@ -99,8 +97,6 @@ void kr_zonecut_deinit(struct kr_zonecut *cut)
 	map_clear(&cut->nsset);
 	knot_rrset_free(&cut->key, cut->pool);
 	knot_rrset_free(&cut->trust_anchor, cut->pool);
-	mm_free(cut->pool, cut->parent_name);
-	mm_free(cut->pool, cut->missing_name);
 }
 
 void kr_zonecut_set(struct kr_zonecut *cut, const knot_dname_t *name)
@@ -111,15 +107,10 @@ void kr_zonecut_set(struct kr_zonecut *cut, const knot_dname_t *name)
 	knot_rrset_t *key, *ta;
 	key = cut->key; cut->key = NULL;
 	ta = cut->trust_anchor; cut->trust_anchor = NULL;
-	knot_dname_t *parent_name, *missing_name;
-	parent_name = cut->parent_name; cut->parent_name = NULL;
-	missing_name = cut->missing_name; cut->missing_name = NULL;
 	kr_zonecut_deinit(cut);
 	kr_zonecut_init(cut, name, cut->pool);
 	cut->key = key;
 	cut->trust_anchor = ta;
-	cut->parent_name = parent_name;
-	cut->missing_name = missing_name;
 }
 
 static int copy_addr_set(const char *k, void *v, void *baton)
diff --git a/lib/zonecut.h b/lib/zonecut.h
index 82d62958ed0dbca120c62c8aadf474423b39eaee..a2662e5bb49a0f51dec7045101bb33404171687f 100644
--- a/lib/zonecut.h
+++ b/lib/zonecut.h
@@ -28,12 +28,10 @@ struct kr_context;
 */
 struct kr_zonecut {
 	knot_dname_t *name; /**< Zone cut name. */
-	mm_ctx_t *pool;     /**< Memory pool. */
 	map_t nsset;        /**< Map of nameserver => address_set. */
 	knot_rrset_t* key;  /**< Zone cut DNSKEY. */
 	knot_rrset_t* trust_anchor; /**< Current trust anchor. */
-	knot_dname_t *parent_name; /**< Parent zone name after zone cut update. */
-	knot_dname_t *missing_name; /**< Missing zone cut name. */
+	mm_ctx_t *pool;     /**< Memory pool. */
 };
 
 /**