diff --git a/src/cfgparse.c b/src/cfgparse.c
index 957ae9e..4dd01bb 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -78,6 +78,7 @@
 #include <haproxy/time.h>
 #include <haproxy/tools.h>
 #include <haproxy/uri_auth-t.h>
+#include <haproxy/xprt_quic.h>
 
 
 /* Used to chain configuration sections definitions. This list
@@ -135,6 +136,17 @@
 			goto fail;
 
 		/* OK the address looks correct */
+
+#ifdef USE_QUIC
+		/* The transport layer automatically switches to QUIC when QUIC
+		 * is selected, regardless of bind_conf settings. We then need
+		 * to initialize QUIC params.
+		 */
+		if (proto->sock_type == SOCK_DGRAM && proto->ctrl_type == SOCK_STREAM) {
+			bind_conf->xprt = xprt_get(XPRT_QUIC);
+			quic_transport_params_init(&bind_conf->quic_params, 1);
+		}
+#endif
 		if (!create_listeners(bind_conf, ss2, port, end, fd, proto, err)) {
 			memprintf(err, "%s for address '%s'.\n", *err, str);
 			goto fail;
diff --git a/src/proto_quic.c b/src/proto_quic.c
index 751fc49..8b3e91b 100644
--- a/src/proto_quic.c
+++ b/src/proto_quic.c
@@ -46,6 +46,7 @@
 #include <haproxy/tools.h>
 
 
+static void quic_add_listener(struct protocol *proto, struct listener *listener);
 static int quic_bind_listener(struct listener *listener, char *errmsg, int errlen);
 static int quic_connect_server(struct connection *conn, int flags);
 static void quic_enable_listener(struct listener *listener);
@@ -60,7 +61,7 @@
 	.listen         = quic_bind_listener,
 	.enable         = quic_enable_listener,
 	.disable        = quic_disable_listener,
-	.add            = default_add_listener,
+	.add            = quic_add_listener,
 	.unbind         = default_unbind_listener,
 	.suspend        = default_suspend_listener,
 	.resume         = default_resume_listener,
@@ -97,7 +98,7 @@
 	.listen         = quic_bind_listener,
 	.enable         = quic_enable_listener,
 	.disable        = quic_disable_listener,
-	.add            = default_add_listener,
+	.add            = quic_add_listener,
 	.unbind         = default_unbind_listener,
 	.suspend        = default_suspend_listener,
 	.resume         = default_resume_listener,
@@ -513,6 +514,18 @@
 	return SF_ERR_NONE;  /* connection is OK */
 }
 
+/* Add listener <listener> to protocol <proto>. Technically speaking we just
+ * initialize a few entries which should be doable during quic_bind_listener().
+ * The end of the initialization goes on with the default function.
+ */
+static void quic_add_listener(struct protocol *proto, struct listener *listener)
+{
+	LIST_INIT(&listener->rx.qpkts);
+	listener->rx.odcids = EB_ROOT_UNIQUE;
+	listener->rx.cids = EB_ROOT_UNIQUE;
+	default_add_listener(proto, listener);
+}
+
 /* This function tries to bind a QUIC4/6 listener. It may return a warning or
  * an error message in <errmsg> if the message is at most <errlen> bytes long
  * (including '\0'). Note that <errmsg> may be NULL if <errlen> is also zero.
