--- rules.events.inc.orig	2010-01-18 12:17:25.000000000 +0100
+++ rules.events.inc	2010-01-29 10:29:40.000000000 +0100
@@ -37,6 +37,19 @@ function rules_user($op, &$edit, &$accou
     rules_invoke_event('user_update', array('account' => &$account, 'account_unchanged' => $account_unchanged));
   }
   else if (in_array($op, array('insert', 'login', 'logout', 'view', 'delete'))) {
+    // At user creation: Get the assigned roles which are not available in $account yet
+    if ($op == 'insert') {
+      // Get the available roles
+      $system_roles = user_roles();
+      // Loop through the Role IDs of the User module's $edit array
+      foreach ($edit['roles'] as $role_id) {
+        if (isset($system_roles[$role_id])) {
+          // Append Role ID and Role Name to the $account->roles array
+          $account->roles[$role_id] = $system_roles[$role_id];
+        }
+      }
+    }
+    
     rules_invoke_event('user_'. $op, array('account' => &$account));
 
     // Allow adding user roles during registration
