diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js
index a348c6c5678b9..e46cc1897e9e0 100644
--- a/src/librustdoc/html/static/js/main.js
+++ b/src/librustdoc/html/static/js/main.js
@@ -2039,7 +2039,10 @@ function preLoadCss(cssUrl) {
// Most page titles are '- in - Rust', except
// modules (which don't have the first part) and keywords/primitives
// (which don't have a module path)
- const [item, module] = document.title.split(" in ");
+ const titleElement = document.querySelector("title");
+ const title = titleElement && titleElement.textContent ?
+ titleElement.textContent.replace(" - Rust", "") : "";
+ const [item, module] = title.split(" in ");
const path = [item];
if (module !== undefined) {
path.unshift(module);