Index: /source/ariba/overlay/modules/chord/Chord.cpp
===================================================================
--- /source/ariba/overlay/modules/chord/Chord.cpp	(revision 5876)
+++ /source/ariba/overlay/modules/chord/Chord.cpp	(revision 5877)
@@ -348,4 +348,14 @@
 		case Discovery::successor:
 		case Discovery::predecessor: {
+			// reached destination? no->forward!
+			if (m->getDestinationNode() != nodeid) {
+				OverlayMsg omsg(*m);
+				omsg.encapsulate(dmsg);
+				omsg.setService(OverlayInterface::OVERLAY_SERVICE_ID);
+				omsg.setRelayed(true);
+				baseoverlay.send(&omsg, omsg.getDestinationNode());
+				break;
+			}
+
 			// time to live ended? yes-> stop routing
 			if (dmsg->getTTL() == 0 || dmsg->getTTL() > 10) break;
