diff --git a/includes/webform.report.inc b/includes/webform.report.inc
index 628b57d..fdbb8b5 100644
--- a/includes/webform.report.inc
+++ b/includes/webform.report.inc
@@ -722,6 +722,9 @@ function webform_results_export($node, $format = 'delimited', $options = array()
 
   $file_name = drupal_tempnam('temporary://', 'webform_');
   $handle = fopen($file_name, 'w');
+  if (!$handle) {
+    return FALSE;
+  }
 
   // Add the beginning of file marker (little-endian usually for MS Excel).
   $exporter->bof($handle);
@@ -747,7 +750,7 @@ function webform_results_export($node, $format = 'delimited', $options = array()
   $exporter->eof($handle, $row_count, $col_count);
 
   // Close the file.
-  @fclose($handle);
+  fclose($handle);
 
   $export_info['format'] = $format;
   $export_info['options'] = $options;
@@ -1117,8 +1120,11 @@ function webform_results_batch_bof($node, $format = 'delimited', $options = arra
 
   $exporter = webform_export_create_handler($format, $options);
   $handle = fopen($options['file_name'], 'w');
+  if (!$handle) {
+    return FALSE;
+  }
   $exporter->bof($handle);
-  @fclose($handle);
+  fclose($handle);
 }
 
 /**
@@ -1129,6 +1135,9 @@ function webform_results_batch_headers($node, $format = 'delimited', $options =
 
   $exporter = webform_export_create_handler($format, $options);
   $handle = fopen($options['file_name'], 'a');
+  if (!$handle) {
+    return FALSE;
+  }
   $headers = webform_results_download_headers($node, $options);
   $row_count = 0;
   $col_count = 0;
@@ -1139,7 +1148,7 @@ function webform_results_batch_headers($node, $format = 'delimited', $options =
   }
   $context['results']['row_count'] = $row_count;
   $context['results']['col_count'] = $col_count;
-  @fclose($handle);
+  fclose($handle);
 }
 
 /**
@@ -1165,6 +1174,9 @@ function webform_results_batch_rows($node, $format = 'delimited', $options = arr
   // Write these submissions to the file.
   $exporter = webform_export_create_handler($format, $options);
   $handle = fopen($options['file_name'], 'a');
+  if (!$handle) {
+    return FALSE;
+  }
   foreach ($rows as $row) {
     $exporter->add_row($handle, $row, $context['results']['row_count']);
     $context['results']['row_count']++;
@@ -1173,7 +1185,7 @@ function webform_results_batch_rows($node, $format = 'delimited', $options = arr
   $context['sandbox']['last_sid'] = end($sids);
   $context['sandbox']['batch_number']++;
 
-  @fclose($handle);
+  fclose($handle);
 
   // Display status message if not yet finished.
   if ($context['sandbox']['batch_number'] != $context['sandbox']['batch_max']) {
@@ -1200,9 +1212,12 @@ function webform_results_batch_eof($node, $format = 'delimited', $options = arra
   // exporters that need to adjust the beginning of the files as well as the
   // end, i.e. webform_exporter_excel_xlsx::eof().
   $handle = fopen($options['file_name'], 'r+');
+  if (!$handle) {
+    return FALSE;
+  }
   fseek($handle, 0, SEEK_END); // Move pointer to the end of the file.
   $exporter->eof($handle, $context['results']['row_count'], $context['results']['col_count']);
-  @fclose($handle);
+  fclose($handle);
 }
 
 /**
