diff --git a/src/cell.c b/src/cell.c
index 79afff700fb6d0a6aa4edc46461f724ba796a652..044f64d57f5983765e9a5f5f24b6821a040aa621 100644
--- a/src/cell.c
+++ b/src/cell.c
@@ -45,6 +45,7 @@
 /* Local headers. */
 #include "atomic.h"
 #include "error.h"
+#include "hydro.h"
 #include "space.h"
 #include "timers.h"
 
@@ -560,10 +561,11 @@ void cell_init_parts(struct cell *c, void *data) {
   for(int i=0; i<c->count; ++i) {
     p[i].t_begin = 0.;
     p[i].t_end = 0.;
-    p[i].rho = -1.;
     xp[i].v_full[0] = p[i].v[0];
     xp[i].v_full[1] = p[i].v[1];
     xp[i].v_full[2] = p[i].v[2];
+    hydro_init_part(p);
+    hydro_reset_acceleration(p);
   }
   c->t_end_min = 0.;
 }