diff --git a/include/iri_ros_tools/module_action.h b/include/iri_ros_tools/module_action.h
index e2998772f99c680338580d2577ac853e098a7d39..c960934688f68c886565021f50e2b0bef5d16b1b 100644
--- a/include/iri_ros_tools/module_action.h
+++ b/include/iri_ros_tools/module_action.h
@@ -869,11 +869,16 @@ bool CModuleAction<action_ros,dyn_reconf_config>::is_finished(void)
   
   if(this->enabled)
   {
+    if(this->is_timeout_active() || this->is_watchdog_active())
+      this->cancel();
     action_state=action_client->getState();
     if(action_state==actionlib::SimpleClientGoalState::ACTIVE || action_state==actionlib::SimpleClientGoalState::PENDING)
       return false;
     else
+    {
+      this->stop_timeout();
       return true;
+    }
   }
   else 
     return true;