diff --git a/src/pressure_floor/GEAR/pressure_floor.h b/src/pressure_floor/GEAR/pressure_floor.h
index 00a026b4f371fe2a0f0a2d429d0854ed3582e76b..642b36725a7d4859109ffb2bb559c865a52fe98e 100644
--- a/src/pressure_floor/GEAR/pressure_floor.h
+++ b/src/pressure_floor/GEAR/pressure_floor.h
@@ -70,7 +70,7 @@ __attribute__((always_inline)) static INLINE float
 pressure_floor_get_physical_pressure(const struct part* p,
                                      const float pressure_physical,
                                      const struct cosmology* cosmo) {
-  error("Not implemented");
+  error("Not used.");
   return 0;
 }
 
@@ -96,7 +96,12 @@ pressure_floor_get_comoving_pressure(const struct part* p,
   /* Compute the pressure floor */
   float floor = kernel_gamma * kernel_gamma * p->h * p->h * rho *
                 pressure_floor_props.constants * cosmo->a_inv;
-  floor -= p->pressure_floor_data.sigma2 * cosmo->a2_inv;
+
+  /* Add the velocity dispersion */
+  const float sigma2 = p->pressure_floor_data.sigma2 * cosmo->a2_inv;
+  if (sigma2 < floor) {
+    floor -= sigma2;
+  }
   floor *= a_coef * rho * hydro_one_over_gamma;
 
   return fmaxf(pressure_comoving, floor);
diff --git a/src/star_formation/GEAR/star_formation.h b/src/star_formation/GEAR/star_formation.h
index c9ab7432bc9147e8f4532346dfde2b0503e5aebf..83be20c50bd41dc6a4e794d5ea3c9711855b7626 100644
--- a/src/star_formation/GEAR/star_formation.h
+++ b/src/star_formation/GEAR/star_formation.h
@@ -303,9 +303,14 @@ __attribute__((always_inline)) INLINE static void star_formation_end_density(
 #ifdef SPHENIX_SPH
   /* Copy the velocity divergence */
   xp->sf_data.div_v = p->viscosity.div_v;
-#else
+  /* SPHENIX is already including the Hubble flow */
+#elif GADGET_SPH
   /* Copy the velocity divergence */
   xp->sf_data.div_v = p->density.div_v;
+  xp->sf_data.div_v += hydro_dimension * cosmo->H;
+#else
+#error  This scheme is not implemented. Different scheme apply the Hubble flow \
+  at different place. Be careful about it.
 #endif
 }