diff --git a/include/haproxy/xprt_quic-t.h b/include/haproxy/xprt_quic-t.h
index 41d585c..4070714 100644
--- a/include/haproxy/xprt_quic-t.h
+++ b/include/haproxy/xprt_quic-t.h
@@ -537,8 +537,8 @@
 		/* The packets received by the listener I/O handler
 		   with header protection removed. */
 		struct eb_root pkts;
-		/* <pkts> must be protected from concurrent accesses */
-		__decl_thread(HA_RWLOCK_T rwlock);
+		/* <pkts> root must be protected from concurrent accesses */
+		__decl_thread(HA_RWLOCK_T pkts_rwlock);
 		/* Liste of QUIC packets with protected header. */
 		struct mt_list pqpkts;
 		/* Crypto frames */
diff --git a/src/xprt_quic.c b/src/xprt_quic.c
index cc560a9..bbd3764 100644
--- a/src/xprt_quic.c
+++ b/src/xprt_quic.c
@@ -2494,9 +2494,9 @@
 			pqpkt->aad_len = pqpkt->pn_offset + pqpkt->pnl;
 			/* Store the packet into the tree of packets to decrypt. */
 			pqpkt->pn_node.key = pqpkt->pn;
-			HA_RWLOCK_WRLOCK(QUIC_LOCK, &el->rx.rwlock);
+			HA_RWLOCK_WRLOCK(QUIC_LOCK, &el->rx.pkts_rwlock);
 			quic_rx_packet_eb64_insert(&el->rx.pkts, &pqpkt->pn_node);
-			HA_RWLOCK_WRUNLOCK(QUIC_LOCK, &el->rx.rwlock);
+			HA_RWLOCK_WRUNLOCK(QUIC_LOCK, &el->rx.pkts_rwlock);
 			TRACE_PROTO("hp removed", QUIC_EV_CONN_ELRMHP, ctx->conn, pqpkt);
 		}
 		MT_LIST_DELETE_SAFE(pkttmp1);
@@ -2551,7 +2551,7 @@
 
 	TRACE_ENTER(QUIC_EV_CONN_ELRXPKTS, ctx->conn);
 	tls_ctx = &el->tls_ctx;
-	HA_RWLOCK_WRLOCK(QUIC_LOCK, &el->rx.rwlock);
+	HA_RWLOCK_WRLOCK(QUIC_LOCK, &el->rx.pkts_rwlock);
 	node = eb64_first(&el->rx.pkts);
 	while (node) {
 		struct quic_rx_packet *pkt;
@@ -2590,7 +2590,7 @@
 		node = eb64_next(node);
 		quic_rx_packet_eb64_delete(&pkt->pn_node);
 	}
-	HA_RWLOCK_WRUNLOCK(QUIC_LOCK, &el->rx.rwlock);
+	HA_RWLOCK_WRUNLOCK(QUIC_LOCK, &el->rx.pkts_rwlock);
 
 	if (!qc_treat_rx_crypto_frms(el, ctx))
 		goto err;
@@ -2717,7 +2717,7 @@
 	qel->tls_ctx.tx.flags = 0;
 
 	qel->rx.pkts = EB_ROOT;
-	HA_RWLOCK_INIT(&qel->rx.rwlock);
+	HA_RWLOCK_INIT(&qel->rx.pkts_rwlock);
 	MT_LIST_INIT(&qel->rx.pqpkts);
 	qel->rx.crypto.offset = 0;
 	qel->rx.crypto.frms = EB_ROOT_UNIQUE;
@@ -3045,9 +3045,9 @@
 		qpkt_trace = pkt;
 		/* Store the packet */
 		pkt->pn_node.key = pkt->pn;
-		HA_RWLOCK_WRLOCK(QUIC_LOCK, &qel->rx.rwlock);
+		HA_RWLOCK_WRLOCK(QUIC_LOCK, &qel->rx.pkts_rwlock);
 		quic_rx_packet_eb64_insert(&qel->rx.pkts, &pkt->pn_node);
-		HA_RWLOCK_WRUNLOCK(QUIC_LOCK, &qel->rx.rwlock);
+		HA_RWLOCK_WRUNLOCK(QUIC_LOCK, &qel->rx.pkts_rwlock);
 	}
 	else if (qel) {
 		TRACE_PROTO("hp not removed", QUIC_EV_CONN_TRMHP, ctx ? ctx->conn : NULL, pkt);
