Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.1179
diff -u -p -r1.1179 user.module
--- modules/user/user.module	29 Jun 2010 18:24:10 -0000	1.1179
+++ modules/user/user.module	1 Jul 2010 14:52:43 -0000
@@ -437,9 +437,9 @@ function user_save($account, $edit = arr
 
           // Prepare the pictures directory.
           file_prepare_directory($picture_directory, FILE_CREATE_DIRECTORY);
-          $destination = file_stream_wrapper_uri_normalize($picture_directory . '/picture-' . $account->uid . '.' . $info['extension']);
+          $destination = file_stream_wrapper_uri_normalize($picture_directory . '/picture-' . $account->uid . '-' . REQUEST_TIME . '.' . $info['extension']);
 
-          if ($picture = file_move($picture, $destination, FILE_EXISTS_REPLACE)) {
+          if ($picture = file_move($picture, $destination, FILE_EXISTS_RENAME)) {
             $picture->status |= FILE_STATUS_PERMANENT;
             $edit['picture'] = file_save($picture);
           }
Index: modules/user/user.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.test,v
retrieving revision 1.95
diff -u -p -r1.95 user.test
--- modules/user/user.test	10 Jun 2010 06:57:20 -0000	1.95
+++ modules/user/user.test	1 Jul 2010 14:52:43 -0000
@@ -914,6 +914,13 @@ class UserPictureTestCase extends Drupal
 
       // Check if file is located in proper directory.
       $this->assertTrue(is_file($pic_path), t('File is located in proper directory'));
+
+      // Set new picture dimensions.
+      $test_dim = ($info['width'] + 5) . 'x' . ($info['height'] + 5);
+      variable_set('user_picture_dimensions', $test_dim);
+
+      $pic_path2 = $this->saveUserPicture($image);
+      $this->assertNotEqual($pic_path, $pic_path2, t('Filename of second picture is different.'));
     }
   }
 
@@ -921,11 +928,9 @@ class UserPictureTestCase extends Drupal
     $edit = array('files[picture_upload]' => drupal_realpath($image->uri));
     $this->drupalPost('user/' . $this->user->uid . '/edit', $edit, t('Save'));
 
-    $img_info    = image_get_info($image->uri);
-    $picture_dir = variable_get('user_picture_path', 'pictures');
-    $pic_path    = 'public://' . $picture_dir . '/picture-' . $this->user->uid . '.' . $img_info['extension'];
-
-    return $pic_path;
+    // Load actual user data from database.
+    $account = user_load($this->user->uid, TRUE);
+    return isset($account->picture) ? $account->picture->uri : NULL;
   }
 }
 
