Index: source/ariba/overlay/modules/chord/Chord.cpp
===================================================================
--- source/ariba/overlay/modules/chord/Chord.cpp	(revision 5624)
+++ source/ariba/overlay/modules/chord/Chord.cpp	(revision 5628)
@@ -376,4 +376,5 @@
 		}
 		}
+		delete dmsg;
 		break;
 	}
@@ -393,7 +394,7 @@
 
 void Chord::eventFunction() {
+	pending.clear();
 	stabilize_counter++;
-	if (stabilize_counter == 3) {
-		pending.clear();
+	if (stabilize_counter == 2) {
 		size_t numNeighbors = 0;
 		for (size_t i = 0; i < table->size(); i++) {
Index: source/ariba/overlay/modules/chord/detail/chord_routing_table.hpp
===================================================================
--- source/ariba/overlay/modules/chord/detail/chord_routing_table.hpp	(revision 5624)
+++ source/ariba/overlay/modules/chord/detail/chord_routing_table.hpp	(revision 5628)
@@ -253,4 +253,5 @@
 		for (size_t i=0; i<table.size(); i++) {
 			item* curr = &table[i];
+
 			// not not include orphans into routing!
 			if (curr->ref_count==0) continue;
Index: source/ariba/overlay/modules/chord/messages/Discovery.h
===================================================================
--- source/ariba/overlay/modules/chord/messages/Discovery.h	(revision 5624)
+++ source/ariba/overlay/modules/chord/messages/Discovery.h	(revision 5628)
@@ -74,12 +74,4 @@
 	explicit Discovery();
 	virtual ~Discovery();
-/*
-	typedef pair<NodeID,EndpointDescriptor*> NodeEndpoint;
-	typedef vector<NodeEndpoint> NodeEndpointList;
-
-	void add(const NodeID& node, EndpointDescriptor* endp);
-
-	const NodeEndpointList& getList();
-*/
 
 	EndpointDescriptor* getSourceEndpoint() const {
@@ -111,5 +103,4 @@
 	uint8_t ttl;
 	EndpointDescriptor* source_endpoint;
-//	NodeEndpointList descriptors;
 };
 
@@ -117,5 +108,4 @@
 
 sznBeginDefault( ariba::overlay::Discovery, X ) {
-
 	/// serialize follow-type and time-to-live
 	X && follow_type && ttl;
@@ -123,17 +113,4 @@
 	// serialize end-point
 	X && VO(source_endpoint);
-/*
-	// serialize length of descriptor list
-	uint16_t len = descriptors.size();
-	X && len;
-	if (X.isDeserializer()) descriptors.resize(len);
-
-	// serialize descriptors
-	for (int i=0; i<len; i++)
-		X && &descriptors[i].first && VO(descriptors[i].second);
-
-	// serialize payload
-	X && Payload();
-*/
 } sznEnd();
 
