diff --git a/commands/pm/pm.drush.inc b/commands/pm/pm.drush.inc
index d41a358..369370a 100644
--- a/commands/pm/pm.drush.inc
+++ b/commands/pm/pm.drush.inc
@@ -589,7 +589,6 @@ function drush_pm_enable() {
     foreach ($extensions as $name) {
       $remove = FALSE;
       if ($extension_info[$name]->status) {
-        $remove = TRUE;
         drush_log(dt('!extension is already enabled.', array('!extension' => $name)), 'ok');
       }
       // Check if is compatible with Drupal core.
@@ -660,8 +659,7 @@ function drush_pm_enable() {
       return FALSE;
     }
     $enabled = array_keys(array_filter(drush_get_modules(), 'pm_is_enabled'));
-    $needed = array_diff($all_dependencies, $enabled);
-    $modules = $needed + $modules;
+    $modules = array_diff(array_merge($modules, $all_dependencies), $enabled);
 
     // Discard modules which doesn't meet requirements.
     require_once drush_get_context('DRUSH_DRUPAL_ROOT') . '/includes/install.inc';
