Index: profile.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/profile/profile.module,v
retrieving revision 1.236.2.3
diff -u -p -r1.236.2.3 profile.module
--- profile.module	12 Jan 2009 10:09:19 -0000	1.236.2.3
+++ profile.module	20 Sep 2010 21:34:58 -0000
@@ -226,12 +226,16 @@ function profile_user($type, &$edit, &$u
 }
 
 function profile_load_profile(&$user) {
+  if ($user->profile_loaded) {
+    return;
+  }
   $result = db_query('SELECT f.name, f.type, v.value FROM {profile_fields} f INNER JOIN {profile_values} v ON f.fid = v.fid WHERE uid = %d', $user->uid);
   while ($field = db_fetch_object($result)) {
     if (empty($user->{$field->name})) {
       $user->{$field->name} = _profile_field_serialize($field->type) ? unserialize($field->value) : $field->value;
     }
   }
+  $user->profile_loaded = TRUE;
 }
 
 function profile_save_profile(&$edit, &$user, $category, $register = FALSE) {
