diff --git a/core/modules/simpletest/tests/image.test b/core/modules/simpletest/tests/image.test
index daf5394..cabdc04 100644
--- a/core/modules/simpletest/tests/image.test
+++ b/core/modules/simpletest/tests/image.test
@@ -462,3 +462,44 @@ class ImageToolkitGdTestCase extends DrupalWebTestCase {
 
   }
 }
+
+/**
+ * Move related tests
+ */
+class ImageFileMoveTest extends ImageToolkitTestCase {
+  public static function getInfo() {
+    return array(
+      'name' => 'Image moving',
+      'description' => 'Tests the file move function.',
+      'group' => 'Image',
+    );
+  }
+
+  /**
+   * Move a normal file.
+   */
+  function testNormal() {
+    // Pick a file for testing.
+    $file = current($this->drupalGetTestFiles('image'));
+
+    // Create derivative image.
+    $style = image_style_load(key(image_styles()));
+    $derivative_uri = image_style_path($style['name'], $file->uri);
+    image_style_create_derivative($style, $file->uri, $derivative_uri);
+
+    // Check if derivative image exists.
+    $this->assertTrue(file_exists($derivative_uri), t('Make sure derivative image is generated successfully.'));
+
+    // Clone the object so we don't have to worry about the function changing
+    // our reference copy.
+    $desired_filepath = 'public://' . $this->randomName();
+    $result = file_move(clone $file, $desired_filepath, FILE_EXISTS_ERROR);
+
+    // Check if image has been moved.
+    $this->assertTrue(file_exists($result->uri), t('Make sure image is moved successfully.'));
+
+    // Check if derivative image has been flushed.
+    $this->assertFalse(file_exists($derivative_uri), t('Make sure derivative image has been flushed.'));
+  }
+}
+
