Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.884
diff -u -r1.884 user.module
--- modules/user/user.module	8 Jan 2008 10:35:43 -0000	1.884
+++ modules/user/user.module	9 Jan 2008 16:03:47 -0000
@@ -1418,11 +1418,27 @@
     $form['account']['status'] = array('#type' => 'radios', '#title' => t('Status'), '#default_value' => isset($edit['status']) ? $edit['status'] : 1, '#options' => array(t('Blocked'), t('Active')));
   }
   if (user_access('administer permissions')) {
-    $roles = user_roles(1);
+    $roles = user_roles(TRUE);
+    
+    // The disabled checkbox for the 'authenticated user' must be generated separately.
+    $checkbox_authenticated = array(
+      '#type' => 'checkbox',
+      '#title' => $roles[DRUPAL_AUTHENTICATED_RID],
+      '#default_value' => TRUE,
+      '#disabled' => TRUE,
+    );
     unset($roles[DRUPAL_AUTHENTICATED_RID]);
+    
     if ($roles) {
       $default = empty($edit['roles']) ? array() : array_keys($edit['roles']);
-      $form['account']['roles'] = array('#type' => 'checkboxes', '#title' => t('Roles'), '#default_value' => $default, '#options' => $roles, '#description' => t('The user receives the combined permissions of the %au role, and all roles selected here.', array('%au' => t('authenticated user'))));
+      $form['account']['roles'] = array(
+        '#type' => 'checkboxes',
+        '#title' => t('Roles'),
+        '#default_value' => $default,
+        '#options' => $roles,
+        '#description' => t('The user receives the combined permissions of the %au role, and all roles selected here.', array('%au' => t('authenticated user'))),
+        DRUPAL_AUTHENTICATED_RID => $checkbox_authenticated,
+      );
     }
   }
 
