diff --git a/src/syncterm/syncterm.c b/src/syncterm/syncterm.c
index 21843f5a2218bcb6216e3a5ed9f5394fd79cfc75..a0ba00823d295ba551cc6d2becb75cd8e6425ba3 100644
--- a/src/syncterm/syncterm.c
+++ b/src/syncterm/syncterm.c
@@ -1731,33 +1731,37 @@ int main(int argc, char **argv)
 	if (last_bbs)
 		free(last_bbs);
 	// Save changed settings
-	ww = wh = sf = -1;
-	get_window_info(&ww, &wh, NULL, NULL);
-	sf = getscaling();
-	if((sf > 0 && sf != settings.scaling_factor) ||
-	    (ww > 0 && ww != settings.window_width) ||
-	    (wh > 0 && wh != settings.window_height)) {
-		char	inipath[MAX_PATH+1];
-		FILE	*inifile;
-		str_list_t	inicontents;
-
-		get_syncterm_filename(inipath, sizeof(inipath), SYNCTERM_PATH_INI, FALSE);
-		if((inifile=fopen(inipath,"r"))!=NULL) {
-			inicontents=iniReadFile(inifile);
-			fclose(inifile);
-		}
-		else {
-			inicontents=strListInit();
-		}
-		if (sf > 0 && sf != settings.scaling_factor)
-			iniSetInteger(&inicontents,"SyncTERM","ScalingFactor",sf,&ini_style);
-		if (ww > 0 && ww != settings.window_width)
-			iniSetInteger(&inicontents,"SyncTERM","WindowWidth",ww,&ini_style);
-		if (wh > 0 && wh != settings.window_height)
-			iniSetInteger(&inicontents,"SyncTERM","WindowHeight",wh,&ini_style);
-		if((inifile=fopen(inipath,"w"))!=NULL) {
-			iniWriteFile(inifile,inicontents);
-			fclose(inifile);
+	gettextinfo(&txtinfo);
+	// Only save window info if we're in the startup mode...
+	if (txtinfo.currmode == settings.startup_mode || (settings.startup_mode == SCREEN_MODE_CURRENT && txtinfo.currmode == C80)) {
+		ww = wh = sf = -1;
+		get_window_info(&ww, &wh, NULL, NULL);
+		sf = getscaling();
+		if((sf > 0 && sf != settings.scaling_factor) ||
+		    (ww > 0 && ww != settings.window_width) ||
+		    (wh > 0 && wh != settings.window_height)) {
+			char	inipath[MAX_PATH+1];
+			FILE	*inifile;
+			str_list_t	inicontents;
+
+			get_syncterm_filename(inipath, sizeof(inipath), SYNCTERM_PATH_INI, FALSE);
+			if((inifile=fopen(inipath,"r"))!=NULL) {
+				inicontents=iniReadFile(inifile);
+				fclose(inifile);
+			}
+			else {
+				inicontents=strListInit();
+			}
+			if (sf > 0 && sf != settings.scaling_factor)
+				iniSetInteger(&inicontents,"SyncTERM","ScalingFactor",sf,&ini_style);
+			if (ww > 0 && ww != settings.window_width)
+				iniSetInteger(&inicontents,"SyncTERM","WindowWidth",ww,&ini_style);
+			if (wh > 0 && wh != settings.window_height)
+				iniSetInteger(&inicontents,"SyncTERM","WindowHeight",wh,&ini_style);
+			if((inifile=fopen(inipath,"w"))!=NULL) {
+				iniWriteFile(inifile,inicontents);
+				fclose(inifile);
+			}
 		}
 	}