Index: /source/ariba/overlay/modules/chord/Chord.cpp
===================================================================
--- /source/ariba/overlay/modules/chord/Chord.cpp	(revision 5545)
+++ /source/ariba/overlay/modules/chord/Chord.cpp	(revision 5546)
@@ -227,5 +227,14 @@
 	vector<LinkID>::iterator it = std::find(bootstrapLinks.begin(), bootstrapLinks.end(), lnk);
 	if( it != bootstrapLinks.end() ) {
-		send_discovery_to(nodeid);
+		// send discovery over bootstrap
+		Message msg;
+		ChordMessage cmsg(ChordMessage::discovery, nodeid, destination);
+		Discovery dmsg;
+		dmsg.setSourceEndpoint(&baseoverlay.getEndpointDescriptor());
+		dmsg.setFollowType(Discovery::normal);
+		dmsg.setTTL((uint8_t) ttl);
+		cmsg.encapsulate(&dmsg);
+		msg.encapsulate(&cmsg);
+		send(&msg, lnk);
 		bootstrapLinks.erase( it );
 	}
@@ -399,5 +408,5 @@
 		if (disc1 != disc2) send_discovery_to(disc2);
 		orphan_removal_counter++;
-		if (orphan_removal_counter == 2) {
+		if (orphan_removal_counter >= 2) {
 			logging_info("Running orphan removal");
 			orphan_removal_counter = 0;
