diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index f0104c9156ded..b95042247798d 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -379,9 +379,13 @@ function getSearchElement() {
set_fragment(cur_id);
}
- } else if (hasClass(document.getElementById("help"), "hidden") === false) {
- addClass(document.getElementById("help"), "hidden");
- removeClass(document.body, "blur");
+ } else if (hasClass(getHelpElement(), "hidden") === false) {
+ var help = getHelpElement();
+ var is_inside_help_popup = ev.target !== help && help.contains(ev.target);
+ if (is_inside_help_popup === false) {
+ addClass(help, "hidden");
+ removeClass(document.body, "blur");
+ }
} else {
// Making a collapsed element visible on onhashchange seems
// too late