diff --git a/image.module b/image.module
index f933923..abacc8b 100644
--- a/image.module
+++ b/image.module
@@ -997,7 +997,13 @@ function _image_is_required_size($size) {
  */
 function _image_insert(&$node, $size, $image_path) {
   $original_path = $node->images[IMAGE_ORIGINAL];
-  if (file_move($image_path, _image_filename($original_path, $size))) {
+  if (if (module_exists('upload_image'))) {
+    $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;
