diff --git a/lib/layer/iterate.c b/lib/layer/iterate.c
index d18a2ec127a6e2ab74b93df3f3baed8e1093b8ba..ec2251b15d76b2ed0de2c7c25e2776fe3ab10c5b 100644
--- a/lib/layer/iterate.c
+++ b/lib/layer/iterate.c
@@ -747,6 +747,7 @@ static int resolve(kr_layer_t *ctx, knot_pkt_t *pkt)
 	}
 
 	if (query->flags & QUERY_TRACE) {
+		VERBOSE_MSG("<= answer received:\n");
 		kr_pkt_print(pkt);
 	}
 
diff --git a/lib/utils.c b/lib/utils.c
index be5e7ae27637cd514e9fb03b568848727fdade6b..14d3b777e0099090724afdb24d59853ffc4f7508 100644
--- a/lib/utils.c
+++ b/lib/utils.c
@@ -547,7 +547,7 @@ static void flags_to_str(char *dst, const knot_pkt_t *pkt, size_t maxlen)
 
 void kr_pkt_print(knot_pkt_t *pkt)
 {
-	char snames[3][11] = {"ANSWER","AUTHORITY","ADDITIONAL"};
+	char snames[3][15] = {";; ANSWER",";; AUTHORITY",";; ADDITIONAL"};
 	char rrtype[32];
 	char flags[32];
 	char qname[KNOT_DNAME_MAXLEN];
@@ -557,9 +557,9 @@ void kr_pkt_print(knot_pkt_t *pkt)
 	flags_to_str(flags, pkt, sizeof(flags));
 	knot_dname_to_str(qname, knot_pkt_qname(pkt), KNOT_DNAME_MAXLEN);
 	knot_rrtype_to_string(knot_pkt_qtype(pkt), rrtype, sizeof(rrtype));
-	kr_log_verbose("\n>>>>>>>>\n RCODE: %s FLAGS: %s\n",
+	kr_log_verbose(";; Status: %s\n;; Flags: %s\n",
 		       rcode != NULL ? rcode->name : "unknown", flags);
-	kr_log_verbose("QUESTION\n%s\t\t%s\n", qname, rrtype);
+	kr_log_verbose(";; QUESTION\n%s\t\t%s\n", qname, rrtype);
 	for (knot_section_t i = KNOT_ANSWER; i <= KNOT_ADDITIONAL; ++i) {
 		const knot_pktsection_t *sec = knot_pkt_section(pkt, i);
 		kr_log_verbose("%s\n", snames[i - KNOT_ANSWER]);
@@ -568,7 +568,7 @@ void kr_pkt_print(knot_pkt_t *pkt)
 			kr_rrset_print(rr, "");
 		}
 	}
-	kr_log_verbose("<<<<<<<<\n\n");
+	kr_log_verbose("\n");
 }
 
 void kr_dname_print(const knot_dname_t *name, const char *prefix, const char *postfix)