Index: modules/profile.module
===================================================================
--- modules/profile.module	(revision 5662)
+++ modules/profile.module	(working copy)
@@ -90,7 +90,7 @@
         }
 
         if ($fields) {
-          _profile_update_user_fields($fields, $account);
+          $fields = _profile_update_user_fields($fields, $account);
           $output .= theme('profile_block', $account, $fields, true);
         }
 
@@ -189,7 +189,7 @@
     $output = '<div id="profile">';
     while ($account = db_fetch_object($result)) {
       $account = user_load(array('uid' => $account->uid));
-      _profile_update_user_fields($fields, $account);
+      $fields = _profile_update_user_fields($fields, $account);
       $output .= theme('profile_listing', $account, $fields);
     }
     $output .= theme('pager', NULL, 20);
@@ -222,7 +222,7 @@
     $output = '<div id="profile">';
     while ($account = db_fetch_object($result)) {
       $account = user_load(array('uid' => $account->uid));
-      _profile_update_user_fields($fields, $account);
+      $fields = _profile_update_user_fields($fields, $account);
       $output .= theme('profile_listing', $account, $fields);
     }
     $output .= '</div>';
@@ -393,12 +393,13 @@
 /**
  * Helper function: update an array of user fields by calling profile_view_field
  */
-function _profile_update_user_fields(&$fields, $account) {
+function _profile_update_user_fields($fields, $account) {
   foreach ($fields as $key => $field) {
     if ($value = profile_view_field($account, $field)) {
       $fields[$key]->value = $value;
     }
   }
+  return $fields;
 }
 
 function profile_validate_profile($edit, $category) {
