diff --git a/core/modules/system/system.admin.inc b/core/modules/system/system.admin.inc
index 921c887..e40faa7 100644
--- a/core/modules/system/system.admin.inc
+++ b/core/modules/system/system.admin.inc
@@ -1131,7 +1131,9 @@ function system_modules_submit($form, &$form_state) {
       // in the confirmation form that more modules need to be enabled.
       $dependencies = array();
       foreach (array_keys($files[$name]->requires) as $required) {
-        if (empty($modules[$required]['enabled'])) {
+        // If the dependency isn't enabled already or in the process of being
+        // enabled, flag it as needing to be enabled.
+        if (empty($modules[$required]['enabled']) && !module_exists($required)) {
           if (isset($files[$required])) {
             $dependencies[] = $files[$required]->info['name'];
             $modules[$required]['enabled'] = TRUE;
