diff --git a/src/hydro/Gadget2/hydro.h b/src/hydro/Gadget2/hydro.h
index c467970e3493696345bc84a625c036b888cf84a3..e998fae3e6078d4fa31141f1b31a3dc037313ada 100644
--- a/src/hydro/Gadget2/hydro.h
+++ b/src/hydro/Gadget2/hydro.h
@@ -139,9 +139,9 @@ __attribute__((always_inline)) INLINE static void hydro_prepare_force(
   const float abs_div_v = fabsf(p->density.div_v);
 
   /* Compute the pressure */
-  const float dt = (ti_current - (p->ti_begin + p->ti_end) / 2) * timeBase;
+  const float half_dt = (ti_current - (p->ti_begin + p->ti_end) / 2) * timeBase;
   const float pressure =
-      (p->entropy + p->force.entropy_dt * dt) * pow_gamma(p->rho);
+      (p->entropy + p->entropy_dt * half_dt) * pow_gamma(p->rho);
 
   const float irho = 1.f / p->rho;
 
@@ -178,7 +178,7 @@ __attribute__((always_inline)) INLINE static void hydro_reset_acceleration(
   p->a_hydro[2] = 0.0f;
 
   /* Reset the time derivatives. */
-  p->force.entropy_dt = 0.0f;
+  p->entropy_dt = 0.0f;
   p->force.h_dt = 0.0f;
 
   /* Reset maximal signal velocity */
@@ -201,7 +201,7 @@ __attribute__((always_inline)) INLINE static void hydro_predict_extra(
   /* Drift the pressure */
   const float dt_entr = (t1 - (p->ti_begin + p->ti_end) / 2) * timeBase;
   const float pressure =
-      (p->entropy + p->force.entropy_dt * dt_entr) * pow_gamma(p->rho);
+      (p->entropy + p->entropy_dt * dt_entr) * pow_gamma(p->rho);
 
   const float irho = 1.f / p->rho;
 
@@ -228,8 +228,7 @@ __attribute__((always_inline)) INLINE static void hydro_end_force(
 
   p->force.h_dt *= p->h * 0.333333333f;
 
-  p->force.entropy_dt *=
-      hydro_gamma_minus_one * pow_minus_gamma_minus_one(p->rho);
+  p->entropy_dt *= hydro_gamma_minus_one * pow_minus_gamma_minus_one(p->rho);
 }
 
 /**
@@ -245,15 +244,15 @@ __attribute__((always_inline)) INLINE static void hydro_kick_extra(
     float half_dt) {
 
   /* Do not decrease the entropy (temperature) by more than a factor of 2*/
-  const float entropy_change = p->force.entropy_dt * dt;
+  const float entropy_change = p->entropy_dt * dt;
   if (entropy_change > -0.5f * p->entropy)
     p->entropy += entropy_change;
   else
     p->entropy *= 0.5f;
 
   /* Do not 'overcool' when timestep increases */
-  if (p->entropy + 0.5f * p->force.entropy_dt * dt < 0.5f * p->entropy)
-    p->force.entropy_dt = -0.5f * p->entropy / dt;
+  if (p->entropy + 0.5f * p->entropy_dt * dt < 0.5f * p->entropy)
+    p->entropy_dt = -0.5f * p->entropy / dt;
 }
 
 /**
@@ -279,7 +278,7 @@ __attribute__((always_inline)) INLINE static void hydro_convert_quantities(
 __attribute__((always_inline)) INLINE static float hydro_get_internal_energy(
     const struct part *restrict p, float dt) {
 
-  const float entropy = p->entropy + p->force.entropy_dt * dt;
+  const float entropy = p->entropy + p->entropy_dt * dt;
 
   return entropy * pow_gamma_minus_one(p->rho) * hydro_one_over_gamma_minus_one;
 }
diff --git a/src/hydro/Gadget2/hydro_debug.h b/src/hydro/Gadget2/hydro_debug.h
index ca36b5f105836cdcd9455937abf963fe9f448aae..5500fbff6617b3c99ed038acb34a85cb43a426cd 100644
--- a/src/hydro/Gadget2/hydro_debug.h
+++ b/src/hydro/Gadget2/hydro_debug.h
@@ -30,7 +30,7 @@ __attribute__((always_inline)) INLINE static void hydro_debug_particle(
       xp->v_full[1], xp->v_full[2], p->a_hydro[0], p->a_hydro[1], p->a_hydro[2],
       p->h, p->density.wcount, p->density.wcount_dh, p->mass, p->rho_dh, p->rho,
       p->force.P_over_rho2 * p->rho * p->rho / p->rho_dh, p->force.P_over_rho2,
-      p->entropy, p->force.entropy_dt, p->force.soundspeed, p->density.div_v,
+      p->entropy, p->entropy_dt, p->force.soundspeed, p->density.div_v,
       p->density.rot_v[0], p->density.rot_v[1], p->density.rot_v[2],
       p->force.balsara, p->force.v_sig, p->force.h_dt, p->ti_begin, p->ti_end);
 }
diff --git a/src/hydro/Gadget2/hydro_iact.h b/src/hydro/Gadget2/hydro_iact.h
index bcee12122d806a655d5fa57d1e1d15840dc7d212..2033e29604bea81bfaabfe3ce1a27178fee09679 100644
--- a/src/hydro/Gadget2/hydro_iact.h
+++ b/src/hydro/Gadget2/hydro_iact.h
@@ -469,8 +469,8 @@ __attribute__((always_inline)) INLINE static void runner_iact_force(
   pj->force.v_sig = fmaxf(pj->force.v_sig, v_sig);
 
   /* Change in entropy */
-  pi->force.entropy_dt += 0.5f * mj * visc_term * dvdr;
-  pj->force.entropy_dt -= 0.5f * mi * visc_term * dvdr;
+  pi->entropy_dt += 0.5f * mj * visc_term * dvdr;
+  pj->entropy_dt -= 0.5f * mi * visc_term * dvdr;
 }
 
 /**
@@ -566,7 +566,7 @@ __attribute__((always_inline)) INLINE static void runner_iact_nonsym_force(
   pi->force.v_sig = fmaxf(pi->force.v_sig, v_sig);
 
   /* Change in entropy */
-  pi->force.entropy_dt += 0.5f * mj * visc_term * dvdr;
+  pi->entropy_dt += 0.5f * mj * visc_term * dvdr;
 }
 
 /**
diff --git a/src/hydro/Gadget2/hydro_part.h b/src/hydro/Gadget2/hydro_part.h
index 51f1625e0ca682f68340f33c0746a86118d79853..0cd830c51a1836c0a56e7b4097990bf4d07a101f 100644
--- a/src/hydro/Gadget2/hydro_part.h
+++ b/src/hydro/Gadget2/hydro_part.h
@@ -58,7 +58,10 @@ struct part {
   /* Particle entropy. */
   float entropy;
 
-  /* Derivative of the density with respect to  smoothing length. */
+  /* Entropy time derivative */
+  float entropy_dt;
+
+  /* Derivative of the density with respect to smoothing length. */
   float rho_dh;
 
   union {
@@ -93,9 +96,6 @@ struct part {
       /* Signal velocity. */
       float v_sig;
 
-      /* Entropy time derivative */
-      float entropy_dt;
-
       /* Time derivative of the smoothing length */
       float h_dt;