diff --git a/src/sbbs3/scfglib1.c b/src/sbbs3/scfglib1.c
index 9f22a74e875e2ddb2cb6b45a863ea0cc6530be1b..bc9ab673a404b2c7674edf88d3e85abd808894a0 100644
--- a/src/sbbs3/scfglib1.c
+++ b/src/sbbs3/scfglib1.c
@@ -390,6 +390,9 @@ BOOL read_main_cfg(scfg_t* cfg, char* error)
 	}
 	cfg->total_shells=i;
 
+	if(cfg->new_shell>=cfg->total_shells)
+		cfg->new_shell=0;
+
 	fclose(instream);
 	return(TRUE);
 }