diff --git a/core/includes/module.inc b/core/includes/module.inc
index bc50d2c..abd4783 100644
--- a/core/includes/module.inc
+++ b/core/includes/module.inc
@@ -126,15 +126,21 @@ function module_load_install($module) {
  *   load the files of disabled modules.
  */
 function module_load_include($type, $module, $name = NULL) {
+  static $files = [];
+
   if (!isset($name)) {
     $name = $module;
   }
 
-  if (function_exists('drupal_get_path')) {
-    $file = DRUPAL_ROOT . '/' . drupal_get_path('module', $module) . "/$name.$type";
-    if (is_file($file)) {
-      require_once $file;
-      return $file;
+  $key = $type . ':' . $module . ':' . $name;
+  if (!isset($files[$key])) {
+    if (function_exists('drupal_get_path')) {
+      $file = DRUPAL_ROOT . '/' . drupal_get_path('module', $module) . "/$name.$type";
+      if (is_file($file)) {
+        require_once $file;
+        $files[$key] = $file;
+        return $file;
+      }
     }
   }
   return FALSE;
diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php
index b9a9a3e..19afc28 100644
--- a/core/lib/Drupal/Core/Extension/ModuleHandler.php
+++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php
@@ -90,6 +90,13 @@ class ModuleHandler implements ModuleHandlerInterface {
   protected $root;
 
   /**
+   * A list of module include file keys.
+   *
+   * @var array
+   */
+  protected $includeFileKeys = [];
+
+  /**
    * Constructs a ModuleHandler object.
    *
    * @param string $root
@@ -257,20 +264,24 @@ public function loadAllIncludes($type, $name = NULL) {
    * {@inheritdoc}
    */
   public function loadInclude($module, $type, $name = NULL) {
+
     if ($type == 'install') {
       // Make sure the installation API is available
       include_once $this->root . '/core/includes/install.inc';
     }
 
     $name = $name ?: $module;
-    if (isset($this->moduleList[$module])) {
-      $file = $this->root . '/' . $this->moduleList[$module]->getPath() . "/$name.$type";
-      if (is_file($file)) {
-        require_once $file;
-        return $file;
+    $key = $type . ':' . $module . ':' . $name;
+    if (!isset($this->includeFileKeys[$key])) {
+      if (isset($this->moduleList[$module])) {
+        $file = $this->root . '/' . $this->moduleList[$module]->getPath() . "/$name.$type";
+        if (is_file($file)) {
+          require_once $file;
+          $this->includeFileKeys[$key] = $file;
+          return $file;
+        }
       }
     }
-
     return FALSE;
   }
 
