--- modules/user/user.module
+++ modules/user/user.module
@@ -428,7 +428,7 @@
       // make it permanent.
       if (($picture->status & FILE_STATUS_PERMANENT) == 0) {
         $info = image_get_info($picture->filepath);
-        $destination = file_create_path(variable_get('user_picture_path', 'pictures') . '/picture-' . $account->uid . '.' . $info['extension']);
+        $destination = file_create_path(variable_get('user_picture_path', 'pictures') . '/picture-' . $account->uid . '-' . REQUEST_TIME . '.' . $info['extension']);
         if ($picture = file_move($picture, $destination, FILE_EXISTS_REPLACE)) {
           $picture->status |= FILE_STATUS_PERMANENT;
           $edit['picture'] = file_save($picture);

--- modules/user/user.test
+++ modules/user/user.test
@@ -702,8 +702,14 @@
     $this->drupalPost('user/' . $this->user->uid . '/edit', $edit, t('Save'));
 
     $img_info = image_get_info($image->filepath);
+
+    // Extract the user picture timestamp from filename.
+    $picture_path = db_query("SELECT files.filepath FROM {users} users INNER JOIN {files} files ON users.picture = files.fid WHERE users.uid = '%s'", $this->user->uid)->fetchField();
+    $picture_name = basename($picture_path, '.'.$img_info['extension']);
+    $picture_timestamp = str_replace('picture-' . $this->user->uid . '-', '', $picture_name);
+
     $picture_dir = variable_get('user_picture_path', 'pictures');
-    $pic_path = file_directory_path() . '/' . $picture_dir . '/picture-' . $this->user->uid . '.' . $img_info['extension'];
+    $pic_path = file_directory_path() . '/' . $picture_dir . '/picture-' . $this->user->uid . '-' . $picture_timestamp . '.' . $img_info['extension'];
 
     return $pic_path;
   }
