diff --git a/vendor/magento/module-analytics/Model/ReportWriter.php b/vendor/magento/module-analytics/Model/ReportWriter.php
index f6c18b128df56..be7b147c6c373 100644
--- a/vendor/magento/module-analytics/Model/ReportWriter.php
+++ b/vendor/magento/module-analytics/Model/ReportWriter.php
@@ -104,17 +104,18 @@ private function prepareData(array $provider, WriteInterface $directory, string
         $stream = $directory->openFile($fileFullPath, 'w+');
         $stream->lock();
 
-        $headers = [];
         if ($providerObject instanceof \Magento\Analytics\ReportXml\BatchReportProviderInterface) {
+            $writeHeaders = true;
             $fileData = $providerObject->getBatchReport(...array_values($provider['parameters']));
             do {
-                $this->doWrite($fileData, $stream, $headers);
+                $this->doWrite($fileData, $stream, $writeHeaders);
+                $writeHeaders = false;
                 $fileData = $providerObject->getBatchReport(...array_values($provider['parameters']));
                 $fileData->rewind();
             } while ($fileData->valid());
         } else {
             $fileData = $providerObject->getReport(...array_values($provider['parameters']));
-            $this->doWrite($fileData, $stream, $headers);
+            $this->doWrite($fileData, $stream);
         }
 
         $stream->unlock();
@@ -126,15 +127,16 @@ private function prepareData(array $provider, WriteInterface $directory, string
      *
      * @param \Traversable $fileData
      * @param FileWriteInterface $stream
-     * @param array $headers
+     * @param bool $writeHeaders
      * @return void
      */
-    private function doWrite(\Traversable $fileData, FileWriteInterface $stream, array $headers)
+    private function doWrite(\Traversable $fileData, FileWriteInterface $stream, bool $writeHeaders = true): void
     {
         foreach ($fileData as $row) {
-            if (!$headers) {
+            if ($writeHeaders) {
                 $headers = array_keys($row);
                 $stream->writeCsv($headers);
+                $writeHeaders = false;
             }
             $stream->writeCsv($this->prepareRow($row));
         }
