diff --git a/CHANGES.md b/CHANGES.md
index a3dff19608..76aca4ac5f 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -3,9 +3,12 @@
### Fixed
- Fix missing katex headers (@panglesd, #1096)
-- Allow `][` in code blocks, fixing issue #1137 (@Julow, #1149, #xxxx)
+- Allow `][` in code blocks, fixing issue #1137 (@Julow, #1149)
This was interpreted as "code blocks with result", which now mandates a
delimiter: `{delim@lang[ code ]delim[ result ]}`
+- Fix misprinting of type variables from ml files for OCaml 4.14 and later
+ (multiple occurences of the same type variable could be named differently)
+ (@octachron, #1173)
# 2.4.2
diff --git a/test/generators/html/Bugs.html b/test/generators/html/Bugs.html
index adebafbcf6..dea5d68349 100644
--- a/test/generators/html/Bugs.html
+++ b/test/generators/html/Bugs.html
@@ -50,9 +50,9 @@
Module Bugs
'b
->
- 'c *
- 'd * 'e
- * 'f
+ 'a *
+ 'b * 'a
+ * 'b
diff --git a/test/generators/latex/Bugs.tex b/test/generators/latex/Bugs.tex
index 940deec7b6..1a25322cf2 100644
--- a/test/generators/latex/Bugs.tex
+++ b/test/generators/latex/Bugs.tex
@@ -2,7 +2,7 @@ \section{Module \ocamlinlinecode{Bugs}}\label{module-Bugs}%
\label{module-Bugs-type-opt}\ocamlcodefragment{\ocamltag{keyword}{type} 'a opt = \ocamltag{type-var}{'a} option}\\
\label{module-Bugs-val-foo}\ocamlcodefragment{\ocamltag{keyword}{val} foo : \ocamltag{optlabel}{?bar}:\ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} unit \ocamltag{arrow}{$\rightarrow$} unit}\begin{ocamlindent}Triggers an assertion failure when \href{https://github.com/ocaml/odoc/issues/101}{https://github.com/ocaml/odoc/issues/101}\footnote{\url{https://github.com/ocaml/odoc/issues/101}} is not fixed.\end{ocamlindent}%
\medbreak
-\label{module-Bugs-val-repeat}\ocamlcodefragment{\ocamltag{keyword}{val} repeat : \ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} \ocamltag{type-var}{'b} \ocamltag{arrow}{$\rightarrow$} \ocamltag{type-var}{'c} * \ocamltag{type-var}{'d} * \ocamltag{type-var}{'e} * \ocamltag{type-var}{'f}}\begin{ocamlindent}Renders as \ocamlinlinecode{val repeat : 'a -> 'b -> 'c * 'd * 'e * 'f} before https://github.com/ocaml/odoc/pull/1173\end{ocamlindent}%
+\label{module-Bugs-val-repeat}\ocamlcodefragment{\ocamltag{keyword}{val} repeat : \ocamltag{type-var}{'a} \ocamltag{arrow}{$\rightarrow$} \ocamltag{type-var}{'b} \ocamltag{arrow}{$\rightarrow$} \ocamltag{type-var}{'a} * \ocamltag{type-var}{'b} * \ocamltag{type-var}{'a} * \ocamltag{type-var}{'b}}\begin{ocamlindent}Renders as \ocamlinlinecode{val repeat : 'a -> 'b -> 'c * 'd * 'e * 'f} before https://github.com/ocaml/odoc/pull/1173\end{ocamlindent}%
\medbreak
diff --git a/test/generators/man/Bugs.3o b/test/generators/man/Bugs.3o
index 7e4f924d0e..e06e4f98c9 100644
--- a/test/generators/man/Bugs.3o
+++ b/test/generators/man/Bugs.3o
@@ -24,7 +24,7 @@ https://github\.com/ocaml/odoc/issues/101
is not fixed\.
.nf
.sp
-\f[CB]val\fR repeat : \f[CB]'a\fR \f[CB]\->\fR \f[CB]'b\fR \f[CB]\->\fR \f[CB]'c\fR * \f[CB]'d\fR * \f[CB]'e\fR * \f[CB]'f\fR
+\f[CB]val\fR repeat : \f[CB]'a\fR \f[CB]\->\fR \f[CB]'b\fR \f[CB]\->\fR \f[CB]'a\fR * \f[CB]'b\fR * \f[CB]'a\fR * \f[CB]'b\fR
.fi
.br
.ti +2