diff --git a/ChaosMetadataServiceClientTest/CMakeLists.txt b/ChaosMetadataServiceClientTest/CMakeLists.txt
index f81ac976acd47f9f22f02baf982050d5426657b5..46155ddd4ea65d00998736d5687b5eeb0b201cb1 100644
--- a/ChaosMetadataServiceClientTest/CMakeLists.txt
+++ b/ChaosMetadataServiceClientTest/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 2.6)
+cmake_minimum_required(VERSION 2.9)
 # IF (DEFINED ENV{CHAOS_BUNDLE} )
 #   include($ENV{CHAOS_BUNDLE}/tools/project_template/CMakeChaos.txt)
 # ENDIF()
diff --git a/chaos/common/message/MessagePublishSubscribeBase.h b/chaos/common/message/MessagePublishSubscribeBase.h
index 67b8cef8ca12dfed58bc398aa67e15717ec7b5b7..ec307bf2716ab0daf4a3d635c1eeb9df197c32ad 100644
--- a/chaos/common/message/MessagePublishSubscribeBase.h
+++ b/chaos/common/message/MessagePublishSubscribeBase.h
@@ -94,6 +94,7 @@ namespace chaos {
                  */
         
                 void setMsgOpt(msgOpt opt){msg_opt=opt;}
+                msgOpt getMsgOpt()const {return msg_opt;}
                 /**
                  * @brief Add an handler to the message
                  * 
diff --git a/chaos/common/rpc/psm/PSMClient.cpp b/chaos/common/rpc/psm/PSMClient.cpp
index 4d37cdd80708668a0df30451eeef98a66c9eaef0..3ff61db6b2e4cd2df96211102d01810c7d2dbe71 100644
--- a/chaos/common/rpc/psm/PSMClient.cpp
+++ b/chaos/common/rpc/psm/PSMClient.cpp
@@ -147,7 +147,9 @@ bool PSMClient::submitMessage(NFISharedPtr forwardInfo,
         if(prod->pushMsgAsync(*forwardInfo->message.get(),key)!=0){
             return false;
         }
-        prod->flush();
+        if(prod->getMsgOpt()!=chaos::common::message::MessagePublishSubscribeBase::MSG_SYNCH){
+            prod->flush(1000);
+        }
 
     } catch(CException& ex){
         //in this case i need to delete the memory