--- user_mailman_register.module.orig	2009-10-02 03:45:34.000000000 -0500
+++ user_mailman_register.module	2009-10-17 02:49:37.000000000 -0500
@@ -101,13 +101,13 @@
         $str_account_roles = implode(",",array_keys($account->roles));
         if ($str_edit_roles != $str_account_roles) {
           $roles_changed = TRUE;
-          $allow_new_role = _user_mailman_register_allowed_list($list, $edit_roles);
         }
       }
       if ($mail_changed || $roles_changed) {
         $lists = _mailman_manager_get_lists();
         if (!empty($lists)) {
           foreach ($lists as $list) {
+	    $allow_new_role = _user_mailman_register_allowed_list($list, $edit_roles);
             $allow_cur_role = _user_mailman_register_allowed_list($list,$account);
             $unsubscribe_cur_status = FALSE;
             $subscribe_new_status = FALSE;
@@ -913,6 +913,7 @@
   if (is_array($list)) {
     $list = (object) $list;
   }
+  
   if (!$list->webadmin || !$list->webpass) {
     return FALSE;
   }
