diff --git a/lib/resolve.c b/lib/resolve.c index 75fc3cd4363fa4b36e314d6649d3dad16dee9c7a..30fb5c906451260d82496659457479810aab0c30 100644 --- a/lib/resolve.c +++ b/lib/resolve.c @@ -367,8 +367,10 @@ int kr_resolve_produce(struct kr_request *request, struct sockaddr **dst, int *t case KNOT_STATE_CONSUME: break; case KNOT_STATE_DONE: default: /* Current query is done */ + if (qry->flags & QUERY_RESOLVED) { + kr_rplan_pop(rplan, qry); + } knot_overlay_reset(&request->overlay); - kr_rplan_pop(rplan, qry); return kr_rplan_empty(rplan) ? KNOT_STATE_DONE : KNOT_STATE_PRODUCE; }