diff --git a/inputfiles/Max/raum0_sub11_sub_10.xml b/inputfiles/Max/raum0_sub11_sub_10.xml
index d136fe02621cc72596b37d46c8c94c9b644058d1..c19dd982168da9220b45cffe70f8a7064363b36b 100644
--- a/inputfiles/Max/raum0_sub11_sub_10.xml
+++ b/inputfiles/Max/raum0_sub11_sub_10.xml
@@ -88,8 +88,8 @@ xsi:noNamespaceSchemaLocation="http:xsd.jupedsim.org/jps_ini_core.xsd">
 			<group group_id="7" agent_parameter_id="1" room_id="0" subroom_id="7" number="0" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="60"/>
 			<group group_id="8" agent_parameter_id="1" room_id="0" subroom_id="8" number="0" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="60"/>
 			<group group_id="9" agent_parameter_id="1" room_id="0" subroom_id="9" number="0" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="60"/>
-			<group group_id="10" agent_parameter_id="1" room_id="0" subroom_id="10" number="10" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="60"/>
-			<group group_id="11" agent_parameter_id="1" room_id="0" subroom_id="11" number="10" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="60"/>
+			<group group_id="10" agent_parameter_id="1" room_id="0" subroom_id="10" number="10" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="20"/>
+			<group group_id="11" agent_parameter_id="1" room_id="0" subroom_id="11" number="10" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="20"/>
  		<!-- U8 -> U9 -->
 			<group group_id="12" agent_parameter_id="1" room_id="1" subroom_id="0" number="0" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="60"/>
 			<group group_id="13" agent_parameter_id="1" room_id="1" subroom_id="1" number="0" goal_id="-1" router_id="1" pre_movement_mean="60" pre_movement_sigma="60"/>
diff --git a/pedestrian/Pedestrian.cpp b/pedestrian/Pedestrian.cpp
index b86432cf87842c206b95bec3b71dea30cb5d0734..a5bf5969bbff335d38760b64275b14fd0ee5bfb2 100644
--- a/pedestrian/Pedestrian.cpp
+++ b/pedestrian/Pedestrian.cpp
@@ -95,7 +95,6 @@ Pedestrian::Pedestrian()
 
      _agentsCreated++;//increase the number of object created
 }
-
 Pedestrian::Pedestrian(const StartDistribution& agentsParameters, Building& building)
 :    _age(agentsParameters.GetAge()),
      _gender(agentsParameters.GetGender()),
@@ -401,7 +400,7 @@ double Pedestrian::GetV0Norm() const
      // fprintf(stderr, "%f  %f front [%f, %f] nav [%f, %f] dist=%f, iniDist=%f\n", delta, ped_elevation, _lastPositions.front()._x, _lastPositions.front()._y, _navLine->GetCentre()._x, _navLine->GetCentre()._y, distanceToTarget, iniDistanceToTarget);
      
      
-     
+
      // we are walking on an even plane
      //TODO: move _ellipse.GetV0() to _V0Plane
      if(fabs(delta)<J_EPS){
@@ -410,7 +409,10 @@ double Pedestrian::GetV0Norm() const
      }
       // we are walking downstairs
      else{
-           double c = 9.0; // should be chosen so that the func grows fast (but smooth) from 0 to 1
+           double c = 1.0;
+           // c should be chosen so that the func grows fast (but smooth) from 0 to 1
+           // However we have to pay attention to tau. The velocity adaptation
+           // from v to v0 in the driven force takes tau time.
            double f; // f in [0, 1]
            if(delta<0)
            {
@@ -423,10 +425,10 @@ double Pedestrian::GetV0Norm() const
                  else if(sub->GetType() == "idle_escalator"){
                        speed_down = _V0IdleEscalatorDownStairs;
                  }
-                 if(_id==-47)
-                       printf("DOWN max_e=%f,  z=%f, f=%f, v0=%f, v0d=%f, ret=%f\n", maxSubElevation, ped_elevation, f, _ellipse.GetV0(), _V0DownStairs, (1-f)*_ellipse.GetV0() + f*speed_down);
-                 // fprintf(stderr, "%f  %f  %f  %f\n", pos.GetX(), pos.GetY(), ped_elevation, (1-f)*_ellipse.GetV0() + f*speed_down);
-                                  // getc(stdin);
+                 // if(_id==-9)
+                 //       printf("%f  DOWN max_e=%f,  z=%f, f=%f, v0=%f, v0d=%f, ret=%f\n", _globalTime, maxSubElevation, ped_elevation, f, _ellipse.GetV0(), _V0DownStairs, (1-f)*_ellipse.GetV0() + f*speed_down);
+                 // // fprintf(stderr, "%f  %f  %f  %f\n", pos.GetX(), pos.GetY(), ped_elevation, (1-f)*_ellipse.GetV0() + f*speed_down);
+                 //                  // getc(stdin);
                  return (1-f)*_ellipse.GetV0() + f*speed_down;
            }
            //we are walking upstairs
@@ -441,8 +443,10 @@ double Pedestrian::GetV0Norm() const
                  else if(sub->GetType() == "idle_escalator"){
                        speed_up = _V0IdleEscalatorUpStairs;
                  }
-                 if(_id==-47)
-                       printf("UP min_e=%f, z=%f, f=%f, v0=%f, speed_up=%f, ret=%f\n", minSubElevation, ped_elevation, f, _ellipse.GetV0(), speed_up, (1-f)*_ellipse.GetV0() + f*speed_up);
+                 // if(_id==2){
+                 //       printf("%f UP min_e=%f, z=%f, f=%f, v0=%f, speed_up=%f, ret=%f, v=%f\n", _globalTime , minSubElevation, ped_elevation, f, _ellipse.GetV0(), speed_up, (1-f)*_ellipse.GetV0() + f*speed_up, GetV().Norm());
+                 //       fprintf(stderr, "%f  %f   %f  %f\n", _globalTime, _ellipse.GetV0(), (1-f)*_ellipse.GetV0() + f*speed_up, GetV().Norm());
+                 // }
                  // fprintf(stderr, "%f  %f  %f  %f\n", pos.GetX(), pos.GetY(), ped_elevation, (1-f)*_ellipse.GetV0() + f*speed_up);
                  // getc(stdin);
                  return (1-f)*_ellipse.GetV0() + f*speed_up;