diff --git a/includes/file.inc b/includes/file.inc
index 08bbbfdd58a97e099fea4ef52ba8f1bb0115bc67..ead32264c1327db0ed32f5d946c17bfd95dd72a4 100644
--- a/includes/file.inc
+++ b/includes/file.inc
@@ -1041,8 +1041,10 @@ function file_validate(&$file, $validators = array()) {
   // Call the validation functions specified by this function's caller.
   $errors = array();
   foreach ($validators as $function => $args) {
-    array_unshift($args, $file);
-    $errors = array_merge($errors, call_user_func_array($function, $args));
+    if (drupal_function_exists($function)) {
+      array_unshift($args, $file);
+      $errors = array_merge($errors, call_user_func_array($function, $args));
+    }
   }
 
   // Let other modules perform validation on the new file.