--- autoassignrole.module.orig	2008-09-26 18:42:43.000000000 +0200
+++ autoassignrole.module	2008-09-26 18:57:33.000000000 +0200
@@ -29,6 +29,10 @@
   return $items;
 }
 function autoassignrole_settings() {
+  $roles = user_roles();
+  // Unset Anonymous & Authenticated RID.
+  unset($roles[1]);
+  unset($roles[2]);
   $form['autoassignrole_settings_auto'] = array(
     '#type' => 'fieldset',
     '#title' => t('Automatic Role Assignment'),
@@ -48,7 +52,7 @@
     '#type' => 'checkboxes',
     '#title' => t('Role'),
     '#default_value' => variable_get('AUTOASSIGNROLE_ROLE', ''),
-    '#options' => user_roles(),
+    '#options' => $roles,
     '#description' => t('Select the roles to assign new users.'),
   );
   $form['autoassignrole_settings_user'] = array(
@@ -72,7 +76,7 @@
       '#type' => 'checkboxes',
       '#title' => t('Role'),
       '#default_value' => variable_get('AUTOASSIGNROLE_ROLE_USER', ''),
-      '#options' => user_roles(),
+      '#options' => $roles,
       '#description' => t('Select the roles that are offered to new users.'),
     );
   $desc = "Should the end user be allowed to choose a single role or can they ";
@@ -185,7 +188,7 @@
 
 function autoassignrole_form_alter($form_id, &$form) {
   if ($form_id == "user_register" &&
-    variable_get('AUTOASSIGNROLE_ROLE_USER_ACTIVE', '0') == 1) {
+    variable_get('AUTOASSIGNROLE_ROLE_USER_ACTIVE', '0') == 1 && !user_access('administer users')) {
     $form['autoassignrole_user'] = array(
     '#type' => 'fieldset',
     '#title' => variable_get('AUTOASSIGNROLE_ROLE_USER_FIELDSET',
