diff --git a/nlsr_ndn.c b/nlsr_ndn.c
index 3a724d5..2fdf091 100644
--- a/nlsr_ndn.c
+++ b/nlsr_ndn.c
@@ -510,14 +510,34 @@
 	
 
 	if ( contain_key_name(info->content_ccnb, info->pco) == 1){
+		int res_verify=-1;
+		int key_exists=0;
+		struct ccn_charbuf *key_name=get_key_name(info->content_ccnb, info->pco);
+		struct ccn_charbuf *key_uri = ccn_charbuf_create();
+		ccn_uri_append(key_uri, key_name->buf, key_name->length, 0);
+		key_exists=does_key_exist(ccn_charbuf_as_string(key_uri));
+		int key_type=get_key_type_from_key_name(key_name);
+
+		if ( res_verify == 1 && key_type == NLSR_KEY ){				
+			res_verify=0;
+		}
+		else{
+			res_verify=verify_key(info->content_ccnb,info->pco,0);
+		}
 						
-		int res_verify=verify_key(info->content_ccnb,info->pco,0);
+		//int res_verify=verify_key(info->content_ccnb,info->pco,0);
 
 		if ( res_verify != 0 ){
 			if ( nlsr->debugging )
 				printf("Error in verfiying keys !! :( \n");
+			ccn_charbuf_destroy(&key_name);
+			ccn_charbuf_destroy(&key_uri);
 		}
 		else{
+			if ( key_exists == 0 )
+				add_key(ccn_charbuf_as_string(key_uri));
+			ccn_charbuf_destroy(&key_name);
+			ccn_charbuf_destroy(&key_uri);
 			if ( nlsr->debugging )
 				printf("Key verification is successful :)\n");
 			update_adjacent_timed_out_zero_to_adl(nbr);	
