diff --git a/filefield_paths.module b/filefield_paths.module
index e641ab0..a8f3671 100644
--- a/filefield_paths.module
+++ b/filefield_paths.module
@@ -124,6 +124,15 @@ function filefield_paths_form_alter(&$form, $form_state, $form_id) {
             t('This feature should only be used on developmental servers or with extreme caution') . '.',
           '#weight' => 12
         );
+
+        // Skip processing the file.
+        $form['instance']['settings']['filefield_paths']['skip_process_file'] = array(
+          '#type' => 'checkbox',
+          '#title' => t('Skip process file'),
+          '#default_value' => isset($settings['skip_process_file']) ? $settings['skip_process_file'] : FALSE,
+          '#description' => t('Skip processing the file. Useful in certain circumstances where filefield_paths must not move the file.'),
+          '#weight' => 13
+        );
       }
     }
 
diff --git a/modules/filefield_paths.inc b/modules/filefield_paths.inc
index 6e8eefc..ed550b4 100644
--- a/modules/filefield_paths.inc
+++ b/modules/filefield_paths.inc
@@ -44,6 +44,9 @@ function filefield_paths_filefield_paths_field_settings() {
 function filefield_paths_filefield_paths_process_file($type, $entity, $field, $instance, $langcode, &$items) {
   if (isset($instance['settings']['filefield_paths'])) {
     $settings = $instance['settings']['filefield_paths'];
+    if ($settings['skip_process_file']) {
+      return;
+    }
     foreach ($items as &$file) {
       if ($file['timestamp'] == REQUEST_TIME || $settings['active_updating']) {
         $token_data = array(
