Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.1138
diff -u -p -r1.1138 user.module
--- modules/user/user.module	20 Mar 2010 14:55:06 -0000	1.1138
+++ modules/user/user.module	20 Mar 2010 15:47:28 -0000
@@ -370,12 +370,7 @@ function user_save($account, $edit = arr
     }
     // Prepopulate $edit['data'] with the current value of $account->data.
     // Modules can add to or remove from this array in hook_user_presave().
-    if (!empty($account->data)) {
-      $data = unserialize($account->data);
-      foreach ($data as $key => $value) {
-        $edit['data'][$key] = $value;
-      }
-    }
+    $edit['data'] = (!empty($account->data) ? unserialize($account->data) : array());
     user_module_invoke('presave', $edit, $account, $category);
 
     if (is_object($account) && !$account->is_new) {
