diff --git a/src/sbbs3/scfgsave.c b/src/sbbs3/scfgsave.c
index dc3a4b4b4320631570f0a4e898d6a39d15816e28..fa7222277cb3b0bd73d46a6812c2812cb6b4d686 100644
--- a/src/sbbs3/scfgsave.c
+++ b/src/sbbs3/scfgsave.c
@@ -295,7 +295,7 @@ BOOL DLLCALL write_main_cfg(scfg_t* cfg, int backup_level)
 	put_int(cfg->new_min,stream);
 	put_str(cfg->new_xedit,stream);
 	put_int(cfg->new_expire,stream);
-	if(cfg->new_shell>cfg->total_shells)
+	if(cfg->new_shell>=cfg->total_shells)
 		cfg->new_shell=0;
 	put_int(cfg->new_shell,stream);
 	put_int(cfg->new_misc,stream);