diff --git a/src/sockets/socketudp.cpp b/src/sockets/socketudp.cpp
index 3460612cc279f83fba537cb5ba5a708c37ab342f..dab58b9590be53808c2892716b258107b7456887 100755
--- a/src/sockets/socketudp.cpp
+++ b/src/sockets/socketudp.cpp
@@ -198,6 +198,7 @@ std::string CSocketUDP::add_client(std::string &ip)
 {
   CEventServer *event_server=CEventServer::instance();
   TUDPClient *new_client=new TUDPClient;
+  std::stringstream text; 
   unsigned int i=0;
 
   for(i=0;i<this->clients.size();i++)
@@ -210,7 +211,8 @@ std::string CSocketUDP::add_client(std::string &ip)
   }
   // add the new IP address to wait data for
   new_client->ip_address=ip;
-  new_client->new_data_avail_event_id=ip + "_data_avail_event_id";
+  text << ip << "_" << this->associated_port << "_data_avail_event_id";
+  new_client->new_data_avail_event_id=text.str();
   event_server->create_event(new_client->new_data_avail_event_id);
   this->clients.push_back(new_client);