? includes/table.inc
Index: includes/environment.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/environment.inc,v
retrieving revision 1.85
diff -u -p -r1.85 environment.inc
--- includes/environment.inc	26 May 2010 23:49:25 -0000	1.85
+++ includes/environment.inc	28 May 2010 14:40:21 -0000
@@ -533,9 +533,6 @@ function _drush_bootstrap_drupal_root() 
   $version = drush_set_context('DRUSH_DRUPAL_VERSION', drush_drupal_version());
   $major_version = drush_set_context('DRUSH_DRUPAL_MAJOR_VERSION', drush_drupal_major_version());
 
-  // Create an alias '@sites'
-  drush_sitealias_create_sites_alias($drupal_root);
-
   drush_log(dt("Initialized Drupal !version root directory at !drupal_root", array("!version" => $version, '!drupal_root' => $drupal_root)));
 }
 
Index: includes/sitealias.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/drush/includes/sitealias.inc,v
retrieving revision 1.43
diff -u -p -r1.43 sitealias.inc
--- includes/sitealias.inc	28 May 2010 04:20:31 -0000	1.43
+++ includes/sitealias.inc	28 May 2010 14:40:22 -0000
@@ -315,11 +315,8 @@ function _drush_sitealias_load_alias($al
   $relative_alias_pos = strpos($alias, '/@');
   if ($relative_alias_pos !== false) {
     $primary_alias = substr($alias,0,$relative_alias_pos);
-    $relative_alias = substr($alias,$relative_alias_pos + 1);
+    $relative_alias = substr($alias,$relative_alias_pos + 2);
     $primary_record = drush_sitealias_get_record($primary_alias);
-    if (array_key_exists('root', $primary_record) && !array_key_exists('remote-host', $primary_record)) {
-      drush_sitealias_create_sites_alias($primary_record['root']);
-    }
     _drush_sitealias_find_and_load_alias($relative_alias, $primary_record);
     $result = drush_sitealias_get_record($relative_alias);
     if (!empty($result)) {
@@ -384,7 +381,23 @@ function drush_sitealias_load_all($resol
  */
 function _drush_sitealias_find_and_load_alias($aliasname, $alias_path_context = NULL) {
   $result = array();
-
+  
+  // Special checking for '@sites' alias
+  if ($aliasname == 'sites') {
+    $drupal_root = null;
+    if ($alias_path_context != null) {
+      if (array_key_exists('root', $alias_path_context) && !array_key_exists('remote-host', $alias_path_context)) {
+        $drupal_root = $alias_path_context['root'];
+      }
+    }
+    else {
+      $drupal_root = drush_get_context('DRUSH_DRUPAL_ROOT');
+    }
+    if (isset($drupal_root) && !is_array($drupal_root)) {
+      drush_sitealias_create_sites_alias($drupal_root);
+    }
+  }
+  
   // The alias path is a list of folders to search for alias settings files
   $alias_path = drush_sitealias_alias_path($alias_path_context);
 
