diff --git a/sites/all/modules/contrib/remote_file_source/remote_file_source.module b/sites/all/modules/contrib/remote_file_source/remote_file_source.module
index 5b68085..26f1e8d 100644
--- a/sites/all/modules/contrib/remote_file_source/remote_file_source.module
+++ b/sites/all/modules/contrib/remote_file_source/remote_file_source.module
@@ -128,8 +128,15 @@ function filefield_source_remotefile_value($element, &$item) {
       unset($element['#upload_validators']['file_validate_size']);
     }
 
+    if (!isset($element['#upload_validators']['file_validate_extensions'][0])) {
+      // If 'file_validate_extensions' is set and the list is empty then the
+      // caller wants to allow any extension. In this case we have to remove the
+      // validator or else it will reject all extensions.
+      unset($element['#upload_validators']['file_validate_extensions']);
+    }
+
     if (filefield_sources_element_validate($element, (object) $file)) {
       $item = array_merge($item, (array) $file);
     }    
   }
