diff --git a/includes/form.inc b/includes/form.inc
index a337b03..cff54db 100644
--- a/includes/form.inc
+++ b/includes/form.inc
@@ -1789,9 +1789,9 @@ function form_builder($form_id, &$element, &$form_state) {
     $element['#after_build_done'] = TRUE;
   }
 
-  // If there is a file element, we need to flip a flag so later the
+  // If there is a visible file element, we need to flip a flag so later the
   // form encoding can be set.
-  if (isset($element['#type']) && $element['#type'] == 'file') {
+  if (isset($element['#type']) && $element['#type'] == 'file' && !empty($element['#access'])) {
     $form_state['has_file_element'] = TRUE;
   }
 
