Index: source/ariba/communication/BaseCommunication.cpp
===================================================================
--- source/ariba/communication/BaseCommunication.cpp	(revision 4986)
+++ source/ariba/communication/BaseCommunication.cpp	(revision 5151)
@@ -97,5 +97,5 @@
 		IPv4Locator* ipv4locator = dynamic_cast<IPv4Locator*>(*i);
 
-		// TODO: which locators can we find to bind to?
+		// TODO: which locators are find to bind to?
 		// localhost is not too bad, works when testing locally
 		// with several instances. the manual override currently
Index: source/ariba/communication/modules/transport/protlib/connectionmap.cpp
===================================================================
--- source/ariba/communication/modules/transport/protlib/connectionmap.cpp	(revision 4986)
+++ source/ariba/communication/modules/transport/protlib/connectionmap.cpp	(revision 5151)
@@ -101,7 +101,16 @@
 AssocData* ConnectionMap::lookup(const appladdress& addr) const 
 {
-	const_addr2data_it_t hit= addr2data.find(addr);
-	if (hit!=addr2data.end()) return hit->second;
-	else return NULL;
+	// hack: only search for ip addresses!
+	const char* addr_ip = addr.get_ip_str();
+	for (const_addr2data_it_t::const_iterator i=addr2data.begin(); i!=addr2data.end(); i++) {
+		const appladdress& map_addr = i->first;
+		const char* map_ip =  map_addr.get_ip_str();
+		if (strcmp(map_ip, addr_ip)==0) return i->second;
+	}
+	return NULL;
+
+//	const_addr2data_it_t hit= addr2data.find(addr);
+//	if (hit!=addr2data.end()) return hit->second;
+//	else return NULL;
 } // end lookup
 
Index: source/ariba/communication/modules/transport/tcp/TCPTransport.cpp
===================================================================
--- source/ariba/communication/modules/transport/tcp/TCPTransport.cpp	(revision 4986)
+++ source/ariba/communication/modules/transport/tcp/TCPTransport.cpp	(revision 5151)
@@ -242,5 +242,4 @@
 	//std::cout << "XXXXXXXXXXXXXsending out data using tcp transport: " << data << std::endl;
 
-	const_cast<Message*>(message)->dropPayload();
 
 	// prepare netmsg and send it
@@ -258,4 +257,5 @@
 			" to address " + address->toString() <<
 			": " + message->toString() );
+	const_cast<Message*>(message)->dropPayload();
 
 	string s = address->toString();
