diff --git a/nlsr-sync-0.0/nlsr.c b/nlsr-sync-0.0/nlsr.c
index 9ba67c6..351554f 100755
--- a/nlsr-sync-0.0/nlsr.c
+++ b/nlsr-sync-0.0/nlsr.c
@@ -278,6 +278,7 @@
 
 }
 
+/*
 void 
 process_command_lsdb_synch_interval(char *command)
 {
@@ -305,7 +306,7 @@
 	}
 
 }
-
+*/
 
 void 
 process_command_interest_retry(char *command)
@@ -706,10 +707,10 @@
 	{
 		process_command_ccnname(remainder);
 	}
-	else if(!strcmp(cmd_type,"lsdb-synch-interval") )
+	/*else if(!strcmp(cmd_type,"lsdb-synch-interval") )
 	{
 		process_command_lsdb_synch_interval(remainder);
-	}
+	}*/
 	else if(!strcmp(cmd_type,"interest-retry") )
 	{
 		process_command_interest_retry(remainder);
@@ -1052,6 +1053,23 @@
 	return 0;
 }
 
+int
+check_config_validity()
+{
+	if (nlsr->router_name == NULL )
+	{
+		fprintf(stderr,"Router name has not been configured :(\n");
+		return -1;
+	}
+	if ( nlsr->is_hyperbolic_calc == 1 && (nlsr->cor_r == -1.0 && nlsr->cor_theta== -1.0) ) 	
+	{
+		fprintf(stderr,"Hyperbolic codinate has not been defined :(\n");
+		return -1;
+	}
+	
+	return 0;
+}
+
 void 
 nlsr_destroy( void )
 {
@@ -1214,7 +1232,7 @@
 	nlsr->detailed_logging=0;
 	nlsr->debugging=0;
 
-	nlsr->lsdb_synch_interval = LSDB_SYNCH_INTERVAL;
+	//nlsr->lsdb_synch_interval = LSDB_SYNCH_INTERVAL;
 	nlsr->interest_retry = INTEREST_RETRY;
 	nlsr->interest_resend_time = INTEREST_RESEND_TIME;
 	nlsr->lsa_refresh_time=LSA_REFRESH_TIME;
@@ -1279,11 +1297,8 @@
 
 	readConfigFile(config_file);
 
-	if ( nlsr->is_hyperbolic_calc == 1 && (nlsr->cor_r == -1.0 && nlsr->cor_theta== -1.0) ) 	
-	{
-		fprintf(stderr,"Hyperbolic codinate has not been defined :(\n");
-		ON_ERROR_DESTROY(-1);
-	}
+	ON_ERROR_DESTROY(check_config_validity());
+
 	print_adjacent_from_adl();
 
 	if ( daemon_mode == 1 )
@@ -1349,7 +1364,10 @@
 
 
 	print_name_lsdb();
-	build_and_install_cor_lsa();
+	if ( nlsr->cor_r != -1.0 && nlsr->cor_theta== -1.0)
+	{
+		build_and_install_cor_lsa();
+	}
 	write_name_lsdb_to_repo(nlsr->slice_prefix);
 
 	nlsr->sched = ccn_schedule_create(nlsr, &ndn_rtr_ticker);
