diff --git a/include/iri_ros_tools/module_action.h b/include/iri_ros_tools/module_action.h
index 182f780b2cf3d2ee60730329c3eb50a496c18524..47027a65b1e77c626a898ca02f63f82337b74a78 100644
--- a/include/iri_ros_tools/module_action.h
+++ b/include/iri_ros_tools/module_action.h
@@ -223,24 +223,32 @@ class CModuleAction
         {
           ROS_ERROR_STREAM("CModuleAction::action_done: goal on server " << this->name << " aborted");
           this->status=ACTION_ABORTED;
+          this->action_result_msg=*result;
         }
         if(state==actionlib::SimpleClientGoalState::REJECTED)
         {
           ROS_ERROR_STREAM("CModuleAction::action_done: goal on server " << this->name << " rejected");
           this->status=ACTION_REJECTED;
+          this->action_result_msg=*result;
         }
         else if(state==actionlib::SimpleClientGoalState::PREEMPTED)
         {
           ROS_WARN_STREAM("CModuleAction::action_done: goal on server " << this->name << " preempted");
           this->status=ACTION_PREEMPTED;
+          this->action_result_msg=*result;
         }
         else if(state==actionlib::SimpleClientGoalState::SUCCEEDED)
         {
           ROS_INFO_STREAM("CModuleAction::action_done: goal on server " << this->name << " successfull");
           this->status=ACTION_SUCCESS;
+          this->action_result_msg=*result;
+        } 
+        else if(state==actionlib::SimpleClientGoalState::LOST)
+        {
+          ROS_INFO_STREAM("CModuleAction::action_done: goal on server " << this->name << " lost");
+          this->status=ACTION_SUCCESS;
         } 
       }
-      this->action_result_msg=*result;
       this->action_feedback_msg=Feedback();
       this->action_timeout.stop();
       this->action_access.exit();