diff --git a/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp b/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp
index de496c427a41bca74f3c8a942ea197c6160c26c9..f814475c27fa8849f484e990b11c252fccb4f3ff 100644
--- a/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp
+++ b/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.cpp
@@ -10,6 +10,7 @@
 #include "UbScheduler.h"
 #include "BCProcessor.h"
 #include "BCArray3D.h"
+#include <sstream>
 
 MicrophoneArrayCoProcessor::MicrophoneArrayCoProcessor(SPtr<Grid3D> grid, SPtr<UbScheduler> s, const std::string & path, SPtr<Communicator> comm) : CoProcessor(grid, s), path(path), comm(comm)
 {
@@ -70,7 +71,7 @@ bool MicrophoneArrayCoProcessor::addMicrophone(Vector3D coords)
                mic->nodeIndexes = grid->getNodeIndexes(block, coords[0], coords[1], coords[2]);
                microphones.push_back(mic);
 
-               strVector.resize(microphones.size());
+               strVector.push_back(new std::stringstream);
 
                std::string fname = path+"/mic/mic_"+UbSystem::toString(micID)+".csv";
                std::ofstream ostr;
@@ -100,7 +101,7 @@ void MicrophoneArrayCoProcessor::collectData(double step)
       microphones[i]->distridution->getDistribution(f, val<1>(microphones[i]->nodeIndexes), val<2>(microphones[i]->nodeIndexes), val<3>(microphones[i]->nodeIndexes));
       LBMReal vx1, vx2, vx3, rho;
       calcMacros(f, rho, vx1, vx2, vx3);
-      strVector[i] << step << ';' << rho << '\n';
+      *strVector[i] << step << ';' << rho << '\n';
    }
 }
 
@@ -118,7 +119,7 @@ void MicrophoneArrayCoProcessor::writeFile(double step)
          if (path.size()>0) { UbSystem::makeDirectory(path); ostr.open(fname.c_str(), std::ios_base::out | std::ios_base::app); }
          if (!ostr) throw UbException(UB_EXARGS, "couldn't open file "+fname);
       }
-      ostr << strVector[i].str();
+      ostr << strVector[i]->str();
       ostr.close();
    }
 }
\ No newline at end of file
diff --git a/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.h b/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.h
index 67b1aadca5d18a66384f430909f517af77a75ecb..e8a884d784b58fadf30d39bab2748394bef488d5 100644
--- a/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.h
+++ b/source/VirtualFluidsCore/CoProcessors/MicrophoneArrayCoProcessor.h
@@ -45,7 +45,7 @@ private:
    };
    std::vector< SPtr<Mic> > microphones;
 
-   std::vector<std::stringstream > strVector;
+   std::vector<std::stringstream* > strVector;
 
    int count;
    int micID;