diff --git a/nlsr_km_util.c b/nlsr_km_util.c
index ee55252..6750c67 100644
--- a/nlsr_km_util.c
+++ b/nlsr_km_util.c
@@ -65,6 +65,44 @@
 	return key_name;
 }
 
+
+int 
+get_orig_router_from_key_name(struct ccn_charbuf *orig_router ,struct ccn_charbuf *name) 
+{
+	int res;	
+	struct ccn_indexbuf *name_comps;
+	
+	name_comps = ccn_indexbuf_create();
+	res = ccn_name_split(name, name_comps);
+	if ( res < 0 ){
+		ccn_indexbuf_destroy(&name_comps);
+		return res;
+	}
+	else{
+		res=ccn_name_chop(name, name_comps, -2);
+		if ( res < 0 ){
+			ccn_indexbuf_destroy(&name_comps);
+			return res;
+		}
+		else{
+			res=check_for_tag_component_in_name(name,name_comps,"R.N.Start");
+			if ( res > 0 ){
+				ccn_name_init(orig_router);	
+				ccn_name_append_components(orig_router,name->buf,
+										name_comps->buf[res+1], 
+										name_comps->buf[name_comps->n - 1]);
+			}
+			else{
+				ccn_indexbuf_destroy(&name_comps);
+				return -1;
+			}
+		}
+	}	
+
+	ccn_indexbuf_destroy(&name_comps);
+	return 0;
+}
+
 int
 check_for_name_component_in_name(const struct ccn_charbuf *name, 
 								const struct ccn_indexbuf *indx,
