diff --git a/bfps/cpp/full_code/NSVEparticles.cpp b/bfps/cpp/full_code/NSVEparticles.cpp
index 5f9f480de262753e132e0994fffd747dd6241e48..c4db9ee7f5895ff21837a26cbff8f65a51ad820e 100644
--- a/bfps/cpp/full_code/NSVEparticles.cpp
+++ b/bfps/cpp/full_code/NSVEparticles.cpp
@@ -103,6 +103,7 @@ int NSVEparticles<rnumber>::do_stats()
             this->ps->get_step_idx()-1);
 
     /// sample velocity
+    std::fill_n(pdata.get(), 3*this->ps->getLocalNbParticles(), 0);
     this->ps->sample_compute_field(*this->tmp_vec_field, pdata.get());
     this->particles_sample_writer_mpi->template save_dataset<3>(
             "tracers0",
@@ -116,6 +117,7 @@ int NSVEparticles<rnumber>::do_stats()
     /// compute acceleration and sample it
     this->fs->compute_Lagrangian_acceleration(this->tmp_vec_field);
     this->tmp_vec_field->ift();
+    std::fill_n(pdata.get(), 3*this->ps->getLocalNbParticles(), 0);
     this->ps->sample_compute_field(*this->tmp_vec_field, pdata.get());
     this->particles_sample_writer_mpi->template save_dataset<3>(
             "tracers0",