diff --git a/bfps/DNS.py b/bfps/DNS.py
index f9cf92c47cb7b7db1e2d82714def0c5a41d2cb86..4f26b86c5d4739e1bb3989f2e4a7d9a70ad3f009 100644
--- a/bfps/DNS.py
+++ b/bfps/DNS.py
@@ -918,6 +918,7 @@ class DNS(_code):
                     if not os.path.exists(self.get_particle_file_name()):
                         with h5py.File(self.get_particle_file_name(), 'w') as particle_file:
                             particle_file.create_group('tracers0/velocity')
+                            particle_file.create_group('tracers0/acceleration')
         self.run(
                 nb_processes = opt.nb_processes,
                 nb_threads_per_process = opt.nb_threads_per_process,
diff --git a/bfps/cpp/full_code/NSVEparticles.cpp b/bfps/cpp/full_code/NSVEparticles.cpp
index 6e6fd0f511dcee1f5369e10f626ad80514812dd7..ba84b3943d579965836f05af2447722e273f2dc3 100644
--- a/bfps/cpp/full_code/NSVEparticles.cpp
+++ b/bfps/cpp/full_code/NSVEparticles.cpp
@@ -86,8 +86,13 @@ int NSVEparticles<rnumber>::do_stats()
                                  );
 
     /// compute acceleration and sample it
-
     this->fs->compute_Lagrangian_acceleration(this->tmp_vec_field);
+    this->tmp_vec_field->ift();
+    sample_from_particles_system(*this->tmp_vec_field,
+                                 this->ps,
+                                 (this->simname + "_particles.h5"),
+                                 "tracers0",
+                                 "acceleration");
 
     return EXIT_SUCCESS;
 }