diff --git a/core/modules/help/help.admin.inc b/core/modules/help/help.admin.inc
index 81cd224..4bca9f3 100644
--- a/core/modules/help/help.admin.inc
+++ b/core/modules/help/help.admin.inc
@@ -5,6 +5,8 @@
  * Admin page callbacks for the help module.
  */
 
+use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
+
 /**
  * Page callback: Prints a page listing a glossary of Drupal terminology.
  *
@@ -49,8 +51,11 @@ function help_page($name) {
       }
       $output .= theme('item_list', array('items' => $links, 'title' => t('@module administration pages', array('@module' => $info[$name]['name']))));
     }
+    return $output;
+  }
+  else {
+    throw new NotFoundHttpException();
   }
-  return $output;
 }
 
 /**
diff --git a/core/modules/help/help.module b/core/modules/help/help.module
index dbc836c..b52ecd1 100644
--- a/core/modules/help/help.module
+++ b/core/modules/help/help.module
@@ -18,16 +18,15 @@ function help_menu() {
     'file' => 'help.admin.inc',
   );
 
-  foreach (module_implements('help', TRUE) as $module) {
-    $items['admin/help/' . $module] = array(
-      'title' => $module,
-      'page callback' => 'help_page',
-      'page arguments' => array(2),
-      'access arguments' => array('access administration pages'),
-      'type' => MENU_VISIBLE_IN_BREADCRUMB,
-      'file' => 'help.admin.inc',
-    );
-  }
+  $items['admin/help/%'] = array(
+    'title callback' => FALSE,
+    'title arguments' => array(2),
+    'page callback' => 'help_page',
+    'page arguments' => array(2),
+    'access arguments' => array('access administration pages'),
+    'type' => MENU_VISIBLE_IN_BREADCRUMB,
+    'file' => 'help.admin.inc',
+  );
 
   return $items;
 }
