Index: source/ariba/overlay/modules/chord/Chord.cpp
===================================================================
--- source/ariba/overlay/modules/chord/Chord.cpp	(revision 3693)
+++ source/ariba/overlay/modules/chord/Chord.cpp	(revision 3694)
@@ -288,8 +288,13 @@
 			dmsg->setTTL(dmsg->getTTL() - 1);
 
-			const route_item* item;
-			if (dmsg->getFollowType() == Discovery::successor) item
-					= table->get(*table->get_successor());
-			else item = table->get(*table->get_predesessor());
+			const route_item* item = NULL;
+			if (dmsg->getFollowType() == Discovery::successor &&
+					table->get_successor() != NULL) {
+				item = table->get(*table->get_successor());
+			} else {
+				if (table->get_predesessor()!=NULL)
+					item = table->get(*table->get_predesessor());
+			}
+			if (item == NULL) break;
 			logging_debug("routing discovery message to succ/pred "
 					<< item->id.toString() );
