Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.1188
diff -u -p -r1.1188 user.module
--- modules/user/user.module	30 Jul 2010 02:47:28 -0000	1.1188
+++ modules/user/user.module	3 Aug 2010 04:13:25 -0000
@@ -3197,13 +3197,13 @@ function user_build_filter_query(SelectQ
       if (user_access($value, $account)) {
         continue;
       }
-      $user_role_alias = $query->join('users_roles', 'ur', '%alias.uid = u.uid');
-      $permission_alias = $query->join('role_permission', 'p', $user_role_alias . '.rid = %alias.rid');
+      $users_roles_alias = $query->join('users_roles', 'ur', '%alias.uid = u.uid');
+      $permission_alias = $query->join('role_permission', 'p', $users_roles_alias . '.rid = %alias.rid');
       $query->condition($permission_alias . '.permission', $value);
     }
     elseif ($key == 'role') {
-      $user_roles_alias = $query->join('users_roles', 'ur', '%alias.uid = u.uid');
-      $query->condition($user_role_alias . '.rid' , $value);
+      $users_roles_alias = $query->join('users_roles', 'ur', '%alias.uid = u.uid');
+      $query->condition($users_roles_alias . '.rid' , $value);
     }
     else {
       $query->condition($filters[$key]['field'], $value);
Index: modules/user/user.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.test,v
retrieving revision 1.97
diff -u -p -r1.97 user.test
--- modules/user/user.test	22 Jul 2010 23:41:51 -0000	1.97
+++ modules/user/user.test	3 Aug 2010 04:13:26 -0000
@@ -1062,19 +1062,28 @@ class UserAdminTestCase extends DrupalWe
     $this->drupalPost('admin/people', $edit, t('Filter'));
 
     // Check if the correct users show up.
-    $this->assertNoText($user_a->name, t('User A not on filtered by perm  admin users page'));
+    $this->assertNoText($user_a->name, t('User A not on filtered by perm admin users page'));
     $this->assertText($user_b->name, t('Found user B on filtered by perm admin users page'));
     $this->assertText($user_c->name, t('Found user C on filtered by perm admin users page'));
 
+    //Filter the users by role
+    $edit['role'] = max(array_flip($user_c->roles));
+    $this->drupalPost('admin/people', $edit, t('Refine'));
+
+    // Check if the correct users show up when filter by role.
+    $this->assertNoText($user_a->name, t('User A not on filtered by role on admin users page'));
+    $this->assertNoText($user_b->name, t('User b not on filtered by role on admin users page'));
+    $this->assertText($user_c->name, t('User C on filtered by role on admin users page'));
+
     // Test blocking of a user.
-    $account = user_load($user_b->uid);
-    $this->assertEqual($account->status, 1, 'User B not blocked');
+    $account = user_load($user_c->uid);
+    $this->assertEqual($account->status, 1, 'User C not blocked');
     $edit = array();
     $edit['operation'] = 'block';
     $edit['accounts[' . $account->uid . ']'] = TRUE;
     $this->drupalPost('admin/people', $edit, t('Update'));
-    $account = user_load($user_b->uid, TRUE);
-    $this->assertEqual($account->status, 0, 'User B blocked');
+    $account = user_load($user_c->uid, TRUE);
+    $this->assertEqual($account->status, 0, 'User C blocked');
   }
 }
 
