diff --git a/modules/system/system.admin.inc b/modules/system/system.admin.inc
index 9e7d69d..a69b621 100644
--- a/modules/system/system.admin.inc
+++ b/modules/system/system.admin.inc
@@ -1098,7 +1098,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;
