diff --git a/src/libknot/updates/xfr-in.c b/src/libknot/updates/xfr-in.c
index 2aa1002675f83c3aebeb2bd5ee8e58d9359e469d..9da1ecb4f6f027f09057d4f84740f34961f14201 100644
--- a/src/libknot/updates/xfr-in.c
+++ b/src/libknot/updates/xfr-in.c
@@ -2751,9 +2751,10 @@ dbg_xfrin_exec_detail(
 					                   NULL,
 					                   chset->add[i]->owner,
 					                   ret);
-					if (ret != KNOT_EOK) {
-						return ret;
-					}
+					// Delete from changeset
+					knot_rrset_deep_free(&(chset->add[i]), 1, 1);
+					chset->add[i] = NULL;
+					return ret; // 0 for recoverable, < 0 otherwise
 				}
 			}
 		}