Index: source/ariba/overlay/BaseOverlay.cpp
===================================================================
--- source/ariba/overlay/BaseOverlay.cpp	(revision 5884)
+++ source/ariba/overlay/BaseOverlay.cpp	(revision 5885)
@@ -407,4 +407,5 @@
 	LinkID next_link = overlayInterface->getNextLinkId(message->getSourceNode());
 	if (next_link == ld->overlayId) return;
+	ld->setRelaying();
 
 	// try to find source node
Index: source/ariba/overlay/modules/chord/Chord.cpp
===================================================================
--- source/ariba/overlay/modules/chord/Chord.cpp	(revision 5884)
+++ source/ariba/overlay/modules/chord/Chord.cpp	(revision 5885)
@@ -125,5 +125,5 @@
 
 void Chord::discover_neighbors( const LinkID& link ) {
-	uint8_t ttl = 1;
+	uint8_t ttl = 4;
 	{
 		// send predecessor discovery
@@ -255,10 +255,5 @@
 		logging_info("new orphan: " << remote.toString()
 				<< " with link " << lnk.toString());
-		item = table->insert_orphan(remote);
-
-		// replace with new link
-		if (!item->info.isUnspecified() || item->info!=lnk)
-			baseoverlay.dropLink(item->info);
-		item->info = lnk;
+		item = table->insert_orphan(remote)->info = lnk;
 	}
 
