diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc
index 07091c0..21f2bfb 100644
--- a/core/includes/bootstrap.inc
+++ b/core/includes/bootstrap.inc
@@ -1146,7 +1146,7 @@ function drupal_load($type, $name) {
   $filename = drupal_get_filename($type, $name);
 
   if ($filename) {
-    include_once DRUPAL_ROOT . '/' . $filename;
+    include DRUPAL_ROOT . '/' . $filename;
     $files[$type][$name] = TRUE;
 
     return TRUE;
diff --git a/core/includes/install.core.inc b/core/includes/install.core.inc
index 755c2c1..f17545b 100644
--- a/core/includes/install.core.inc
+++ b/core/includes/install.core.inc
@@ -675,7 +675,8 @@ function install_tasks($install_state) {
     $profile = $install_state['parameters']['profile'];
     $profile_install_file = dirname($install_state['profiles'][$profile]->uri) . '/' . $profile . '.install';
     if (file_exists($profile_install_file)) {
-      include_once $profile_install_file;
+      drupal_get_filename('module', $profile, $profile_install_file);
+      drupal_load('module', $profile);
     }
     $function = $install_state['parameters']['profile'] . '_install_tasks';
     if (function_exists($function)) {
diff --git a/core/update.php b/core/update.php
index ff65c6e..e4c8a76 100644
--- a/core/update.php
+++ b/core/update.php
@@ -333,7 +333,7 @@ function update_access_allowed() {
   // Calls to user_access() might fail during the Drupal 6 to 7 update process,
   // so we fall back on requiring that the user be logged in as user #1.
   try {
-    require_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'user') . '/user.module';
+    drupal_load('module', 'user');
     return user_access('administer software updates');
   }
   catch (Exception $e) {
