diff --git a/src/ebmbtree.c b/src/ebmbtree.c
index 4a1bfc5..a3de9a1 100644
--- a/src/ebmbtree.c
+++ b/src/ebmbtree.c
@@ -63,7 +63,7 @@
 
 /* Insert ebmb_node <new> into a prefix subtree starting at node root <root>.
  * Only new->key and new->pfx need be set with the key and its prefix length.
- * Note that bits between <pfx> and <len> are theorically ignored and should be
+ * Note that bits between <pfx> and <len> are theoretically ignored and should be
  * zero, as it is not certain yet that they will always be ignored everywhere
  * (eg in bit compare functions).
  * The ebmb_node is returned.
diff --git a/src/fcgi-app.c b/src/fcgi-app.c
index f33650f..b8c6a39 100644
--- a/src/fcgi-app.c
+++ b/src/fcgi-app.c
@@ -44,7 +44,7 @@
 /**************************************************************************/
 /* Makes a fcgi parameter name (prefixed by ':fcgi-') with <name> (in
  * lowercase). All non alphanumeric character are replaced by an underscore
- * ('_'). The result is copied into <dst>. the corrsponding ist is returned.
+ * ('_'). The result is copied into <dst>. the corresponding ist is returned.
  */
 static struct ist fcgi_param_name(char *dst, const struct ist name)
 {
diff --git a/src/fix.c b/src/fix.c
index 3ad3f2e..abf3119 100644
--- a/src/fix.c
+++ b/src/fix.c
@@ -246,7 +246,7 @@
 		if (!id)
 			goto not_found_or_invalid;
 		if (id == tagid) {
-			/* <tagId> found, return the corrsponding value */
+			/* <tagId> found, return the corresponding value */
 			return v;
 		}
 
diff --git a/src/lb_fwrr.c b/src/lb_fwrr.c
index e2cdd9f..9219424 100644
--- a/src/lb_fwrr.c
+++ b/src/lb_fwrr.c
@@ -340,7 +340,7 @@
 	grp = (s->flags & SRV_F_BACKUP) ? &p->lbprm.fwrr.bck : &p->lbprm.fwrr.act;
 
 	/* Delay everything which does not fit into the window and everything
-	 * which does not fit into the theorical new window.
+	 * which does not fit into the theoretical new window.
 	 */
 	if (!srv_willbe_usable(s)) {
 		fwrr_remove_from_tree(s);
diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c
index 1f0bdf2..7281b43 100644
--- a/src/mux_fcgi.c
+++ b/src/mux_fcgi.c
@@ -1374,7 +1374,7 @@
 			goto check_index;
 
 		/* If some special characters are found in the decoded path (\n
-		 * or \0), the PATH_INFO regex cannot match. This is theorically
+		 * or \0), the PATH_INFO regex cannot match. This is theoretically
 		 * valid, but probably unexpected, to have such characters. So,
 		 * to avoid any surprises, an error is triggered in this
 		 * case.
diff --git a/src/xprt_quic.c b/src/xprt_quic.c
index fea9a01..e4609d3 100644
--- a/src/xprt_quic.c
+++ b/src/xprt_quic.c
@@ -1725,7 +1725,7 @@
 	reuse_wbuf = 0;
 	wbuf = q_wbuf(qc);
 	qel = &qc->els[tel];
-	/* When entering this function, the writter buffer must be empty.
+	/* When entering this function, the writer buffer must be empty.
 	 * Most of the time it points to the reader buffer.
 	 */
 	while ((q_buf_empty(wbuf) || reuse_wbuf)) {
