--- sites/all/modules/image/image.module	2011-12-13 20:42:15.000000000 +0530
+++ sites/all/modules/image/image.module	2012-07-25 11:43:08.615754986 +0530
@@ -996,7 +996,13 @@
  */
 function _image_insert(&$node, $size, $image_path) {
   $original_path = $node->images[IMAGE_ORIGINAL];
-  if (file_move($image_path, _image_filename($original_path, $size))) {
+  if(variable_get('keep_the_original_image_when_listed') == 1) {
+    $file_operation = file_copy($image_path, _image_filename($original_path, $size));
+  }
+  else {
+    $file_operation = file_move($image_path, _image_filename($original_path, $size));
+  }
+  if ($file_operation) {
     // Update the node to reflect the actual filename, it may have been changed
     // if a file of the same name already existed.
     $node->images[$size] = $image_path;
