diff --git a/src/components/OnPageIndex.tsx b/src/components/OnPageIndex.tsx
index a02fe7f7..1bd22f7d 100644
--- a/src/components/OnPageIndex.tsx
+++ b/src/components/OnPageIndex.tsx
@@ -143,7 +143,8 @@ const OnPageIndex: React.FC = ({ containerRef }) => {
if (topmost) setActiveId(topmost);
},
// The top inset must stay below the landing offset headings scroll to
- // (`scroll-mt-8`/the sticky nav's `top-8`, 32px) — otherwise a heading
+ // (`scroll-mt-8`/the sticky nav's `top-8`, 32px, plus the environment
+ // banner's height when there is one) — otherwise a heading
// that has just been scrolled to sits *above* the observed band and
// is never marked intersecting, letting the next heading down (which
// has already entered the band) incorrectly take over as active.
@@ -219,7 +220,7 @@ const OnPageIndex: React.FC = ({ containerRef }) => {
return (