diff --git a/src/model_car_drivers_base.cpp b/src/model_car_drivers_base.cpp
index 30bb2667d38855e7eebfce5374a116790f247e98..ef8a7aca03e9f089655640e42abd4d7402ceef9c 100644
--- a/src/model_car_drivers_base.cpp
+++ b/src/model_car_drivers_base.cpp
@@ -154,7 +154,6 @@ bool CModel_Car_Drivers_Base::open(std::string &serial_dev)
 void CModel_Car_Drivers_Base::stop()
 {
   //std::cout << "CModel_Car_Drivers_Base::stop(): stopping" << std::endl;
-  this->state=WAIT_START;
   this->event_server->reset_event(this->new_info_event_id);
   this->paired=false;
   if(this->thread_server->get_thread_state(this->data_thread_id)==starting ||
@@ -223,6 +222,7 @@ void *CModel_Car_Drivers_Base::data_thread(void *param)
     if(driver->event_server->event_is_set(driver->finish_thread_event_id))
       end=true;
   }
+  driver->state=WAIT_START;
   pthread_exit(NULL);
 }