--- devel.module	2010-11-13 09:01:30.000000000 +0000
+++ devel.module	2010-11-21 08:20:51.000000000 +0000
@@ -732,12 +732,13 @@ function devel_switch_user_list() {
     }
     $dest = drupal_get_destination();
     // Try to find at least $list_size users that can switch.
+    // Inactive users are omitted from all of the following db selects.
     $roles = user_roles(TRUE, 'switch users');
     if (isset($roles[DRUPAL_AUTHENTICATED_RID])) {
       // If authenticated users have this permission, just grab
       // the last $list_size users, since there won't be records in
       // {user_roles} and every user on the system can switch.
-      $accounts = db_query_range("SELECT DISTINCT u.uid, u.name, u.access FROM {users} u WHERE u.uid > 0 ORDER BY u.access DESC", 0, $list_size);
+      $accounts = db_query_range("SELECT DISTINCT u.uid, u.name, u.access, u.status FROM {users} u WHERE u.uid > 0 AND u.status > 0 ORDER BY u.access DESC", 0, $list_size);
     }
     else {
       $where = array('u.uid = 1');
@@ -745,7 +746,7 @@ function devel_switch_user_list() {
         $where[] = 'r.rid IN ('. implode(',', array_keys($roles)) .')';
       }
       $where_sql = implode(' OR ', $where);
-      $accounts = db_query_range("SELECT DISTINCT u.uid, u.name, u.access FROM {users} u LEFT JOIN {users_roles} r ON u.uid = r.uid WHERE $where_sql ORDER BY u.access DESC", 0, $list_size);
+      $accounts = db_query_range("SELECT DISTINCT u.uid, u.name, u.access, u.status FROM {users} u LEFT JOIN {users_roles} r ON u.uid = r.uid WHERE ($where_sql) AND u.status > 0 ORDER BY u.access DESC", 0, $list_size);
     }
     foreach ($accounts as $account) {
       $links[$account->uid] = array(
@@ -760,7 +761,7 @@ function devel_switch_user_list() {
     $num_links = count($links);
     if ($num_links < $list_size) {
       // If we don't have enough, add distinct uids until we hit $list_size.
-      $accounts = db_query_range('SELECT uid, name, access FROM {users} WHERE uid > 0 AND uid NOT IN ('. implode(',', array_keys($links)) .') ORDER BY access DESC', 0, $list_size - $num_links);
+      $accounts = db_query_range('SELECT uid, name, access, status FROM {users} WHERE uid > 0 AND uid NOT IN ('. implode(',', array_keys($links)) .') AND status > 0 ORDER BY access DESC', 0, $list_size - $num_links);
       foreach ($accounts as $account) {
         $links[$account->uid] = array(
           'title' => $account->name ? $account->name : 'anon',
