diff --git a/src/tools/OFile.cpp b/src/tools/OFile.cpp
index ac02f84dffd01f81e1217ae4bc8e040b4fa34f9e..bdfe1c0751b2a8dafc1050e684a80f760a0d2258 100644
--- a/src/tools/OFile.cpp
+++ b/src/tools/OFile.cpp
@@ -342,6 +342,9 @@ OFile& OFile::rewind() {
     int check=rename(fname.c_str(),backup.c_str());
     plumed_massert(check==0,"renaming "+fname+" into "+backup+" failed for reason: "+strerror(errno));
   }
+
+  if(comm) comm->Barrier();
+
   if(gzfp) {
 #ifdef __PLUMED_HAS_ZLIB
     gzfp=(void*)gzopen(const_cast<char*>(this->path.c_str()),"w9");