diff --git a/docs/users_guide/8.10.1-notes.rst b/docs/users_guide/8.10.1-notes.rst
index f14271294c6f139b94ecd6f861c99ed17b68ac76..40241746a89ff674ba7b4fd734bf78aaa29af93a 100644
--- a/docs/users_guide/8.10.1-notes.rst
+++ b/docs/users_guide/8.10.1-notes.rst
@@ -1,7 +1,7 @@
 .. _release-8-10-1:
 
 Release notes for version 8.10.1
-===============================
+================================
 
 The significant changes to the various parts of the compiler are listed in the
 following sections.
@@ -116,7 +116,7 @@ Template Haskell
 - The ``Lift`` typeclass is now levity-polymorphic and has a ``liftTyped``
   method. Previously disallowed instances for unboxed tuples, unboxed sums, an
   primitive unboxed types have also been added. Finally, the code generated by
-  :ghc-flags:`-XDeriveLift` has been simplified to take advantage of expression
+  :ghc-flag:`-XDeriveLift` has been simplified to take advantage of expression
   quotations.
 
 ``ghc-prim`` library
diff --git a/docs/users_guide/conf.py b/docs/users_guide/conf.py
index e48992d405e51dd862db27068f4e821058193876..c3d5a3590c48bdcec7d429dd873ca3a4bf71b1b3 100644
--- a/docs/users_guide/conf.py
+++ b/docs/users_guide/conf.py
@@ -147,7 +147,14 @@ def parse_ghci_cmd(env, sig, signode):
     return name
 
 def parse_pragma(env, sig, signode):
-    idx = sig.split(' ')[0]
+    parts = sig.split(' ')
+    idx = parts[0]
+
+    # To avoid re-using the same HTTP anchor #pragma-SPECIALIZE in multiple
+    # places, we disambiguate the anchor by adding the second word after it (if
+    # one exists).
+    if idx == "SPECIALIZE" and 1 in parts and parts[1].isalpha():
+        idx += "-" + parts[1]
     name = '{-# ' + sig + ' #-}'
     signode += addnodes.desc_name(name, name)
     return idx
diff --git a/docs/users_guide/glasgow_exts.rst b/docs/users_guide/glasgow_exts.rst
index b1baa308c50976ee461b842c3e1f847f46556ec3..fdc3b2cafa6e02ab537ef6e9003d33dce2137ff3 100644
--- a/docs/users_guide/glasgow_exts.rst
+++ b/docs/users_guide/glasgow_exts.rst
@@ -10433,6 +10433,7 @@ function that can *never* be called, such as this one: ::
 
 Sometimes :extension:`AllowAmbiguousTypes` does not mix well with :extension:`RankNTypes`.
 For example: ::
+
       foo :: forall r. (forall i. (KnownNat i) => r) -> r
       foo f = f @1