diff --git a/src/main.cpp b/src/main.cpp
index 728770738495e6b3756e5d949cc3d356e4577420..dff800896c35a306a6bd1aeadaafb3bedaf8d418 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -189,18 +189,22 @@ int main(int argc, char *argv[])
       // ETAPE 2 DU SPLITTING - DIFFUSION
       
       double dt_diff = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj, kj, cj);
+      double t_diff = t-dt_euler;
  
       if (dt_euler <= dt_diff) {
 	dt_diff = dt_euler;
-	finite_volumes_diffusion.computeNextStep(t, dt_diff, unknowns);
+	finite_volumes_diffusion.computeNextStep(t_diff, dt_diff, unknowns);
       } else {
-	double t_diff = t-dt_euler;
 	while (t > t_diff) {
-	  finite_volumes_diffusion.computeNextStep(t_diff, dt_diff, unknowns);
 	  dt_diff = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj, kj, cj);
 	  if (t_diff+dt_diff > t) {
 	    dt_diff = t-t_diff;
 	  }
+	  finite_volumes_diffusion.computeNextStep(t_diff, dt_diff, unknowns);
+	  //dt_diff = 0.4*finite_volumes_diffusion.diffusion_dt(rhoj, kj, cj);
+	  //if (t_diff+dt_diff > t) {
+	  // dt_diff = t-t_diff;
+	  //}
 	  t_diff += dt_diff;
 	}
       }