diff --git a/src/sbbs3/scfg/scfg.c b/src/sbbs3/scfg/scfg.c
index a94c7d0a450a91fa158dee3e39b3c29ba5353151..cf7c02a736d1e2e898b0b984a253449214e7c7c1 100644
--- a/src/sbbs3/scfg/scfg.c
+++ b/src/sbbs3/scfg/scfg.c
@@ -44,7 +44,8 @@
 scfg_t	cfg;    /* Synchronet Configuration */
 uifcapi_t uifc; /* User Interface (UIFC) Library API */
 
-BOOL  no_dirchk=FALSE,forcesave=FALSE;
+BOOL no_dirchk=FALSE,forcesave=FALSE;
+static BOOL auto_save=FALSE;
 extern BOOL all_msghdr;
 extern BOOL no_msghdr;
 char **opt;
@@ -144,6 +145,9 @@ int main(int argc, char **argv)
                     textmode(atoi(argv[i]+2));
 #endif
                     break;
+				case 'Y':
+					auto_save=TRUE;
+					break;
                 default:
                     printf("\nusage: scfg [ctrl_dir] [options]"
                         "\n\noptions:\n\n"
@@ -166,6 +170,7 @@ int main(int argc, char **argv)
 #endif
                         "-l# =  set screen lines to # (default=auto-detect)\r\n"
                         "-b# =  set automatic back-up level (default=%d)\r\n"
+						"-y  =  automatically save changes (don't ask)\r\n"
 						,backup_level
                         );
         			exit(0);
@@ -550,14 +555,18 @@ int save_changes(int mode)
 {
 	int i=0;
 
-if(!uifc.changes)
-	return(2);
-strcpy(opt[0],"Yes");
-strcpy(opt[1],"No");
-opt[2][0]=0;
-if(mode&WIN_SAV && uifc.savdepth)
-	uifc.savnum++;
-SETHELP(WHERE);
+	if(!uifc.changes)
+		return(2);
+	if(auto_save==TRUE)	{ /* -y switch used, return "Yes" */
+		uifc.changes=0;
+		return(0);
+	}
+	strcpy(opt[0],"Yes");
+	strcpy(opt[1],"No");
+	opt[2][0]=0;
+	if(mode&WIN_SAV && uifc.savdepth)
+		uifc.savnum++;
+	SETHELP(WHERE);
 /*
 Save uifc.changes:
 
@@ -566,12 +575,12 @@ these uifc.changes, select Yes. If you are positive you DO NOT want to save
 these uifc.changes, select No. If you are not sure and want to review the
 configuration before deciding, hit  ESC .
 */
-i=uifc.list(mode|WIN_ACT,0,0,0,&i,0,"Save Changes",opt);
-if(mode&WIN_SAV && uifc.savdepth && uifc.savnum)
-	uifc.savnum--;
-if(i!=-1)
-	uifc.changes=0;
-return(i);
+	i=uifc.list(mode|WIN_ACT,0,0,0,&i,0,"Save Changes",opt);
+	if(mode&WIN_SAV && uifc.savdepth && uifc.savnum)
+		uifc.savnum--;
+	if(i!=-1)
+		uifc.changes=0;
+	return(i);
 }
 
 void txt_cfg()