diff --git a/cpp/full_code/ornstein_uhlenbeck_process.cpp b/cpp/full_code/ornstein_uhlenbeck_process.cpp
index e02cb771e2deed39f074692181f38cba213a623d..653c2540f01ee18661346b04945c6cade09450d2 100644
--- a/cpp/full_code/ornstein_uhlenbeck_process.cpp
+++ b/cpp/full_code/ornstein_uhlenbeck_process.cpp
@@ -188,10 +188,13 @@ void ornstein_uhlenbeck_process<rnumber,be>::initialize_B()
 template <class rnumber, field_backend be>
 void ornstein_uhlenbeck_process<rnumber, be>::let_converge(void)
 {
-  //add some logic here TODO
-  for(int i=0; i<1000; i++)
+  double ou_kmin = sqrt(this->ou_kmin_squ);
+  double tau = 1.0/this->gamma(ou_kmin);
+  double dt = tau/1000.;
+
+  for(int i=0; i<2000; i++)
   {
-    this->step(2e-3);
+    this->step(dt);
   }
 }