diff --git a/modules/profile.module b/modules/profile.module
index 0334445c84c691e77efce1c90358de46210bf4f7..b97d9b09322c0dfa19082e8d06765e4e348bdf2d 100644
--- a/modules/profile.module
+++ b/modules/profile.module
@@ -87,13 +87,13 @@ function profile_load_profile(&$user) {
   }
 }
 
-function profile_save_profile($edit, $user) {
+function profile_save_profile(&$edit, &$user) {
   db_query('DELETE FROM {profile_values} WHERE uid = %d', $user->uid);
   $result = db_query('SELECT fid, name FROM {profile_fields}');
   while ($field = db_fetch_object($result)) {
     if ($edit[$field->name]) {
       db_query("INSERT INTO {profile_values} (fid, uid, value) VALUES (%d, %d, '%s')", $field->fid, $user->uid, $edit[$field->name]);
-      unset($edit[$field->name]);
+      unset($edit[$field->name], $user->{$field->name});
     }
   }
 }
@@ -194,7 +194,7 @@ function profile_validate_profile($edit) {
   return $edit;
 }
 
-function profile_user($type, $edit, &$user) {
+function profile_user($type, &$edit, &$user) {
   switch ($type) {
     case 'load':
       return profile_load_profile($user);
diff --git a/modules/profile/profile.module b/modules/profile/profile.module
index 0334445c84c691e77efce1c90358de46210bf4f7..b97d9b09322c0dfa19082e8d06765e4e348bdf2d 100644
--- a/modules/profile/profile.module
+++ b/modules/profile/profile.module
@@ -87,13 +87,13 @@ function profile_load_profile(&$user) {
   }
 }
 
-function profile_save_profile($edit, $user) {
+function profile_save_profile(&$edit, &$user) {
   db_query('DELETE FROM {profile_values} WHERE uid = %d', $user->uid);
   $result = db_query('SELECT fid, name FROM {profile_fields}');
   while ($field = db_fetch_object($result)) {
     if ($edit[$field->name]) {
       db_query("INSERT INTO {profile_values} (fid, uid, value) VALUES (%d, %d, '%s')", $field->fid, $user->uid, $edit[$field->name]);
-      unset($edit[$field->name]);
+      unset($edit[$field->name], $user->{$field->name});
     }
   }
 }
@@ -194,7 +194,7 @@ function profile_validate_profile($edit) {
   return $edit;
 }
 
-function profile_user($type, $edit, &$user) {
+function profile_user($type, &$edit, &$user) {
   switch ($type) {
     case 'load':
       return profile_load_profile($user);