diff --git a/src/sbbs3/scfg/scfgnet.c b/src/sbbs3/scfg/scfgnet.c
index 6150d4157235b1b63dff3a4eaadcf9aa10248d1a..7f95f4f2bcf11648368ac4f377022fe7c372f16f 100644
--- a/src/sbbs3/scfg/scfgnet.c
+++ b/src/sbbs3/scfg/scfgnet.c
@@ -437,7 +437,14 @@ void net_cfg()
 					,"QWK Packet Networks",opt);
 				switch(i) {
 					case -1:	/* ESC */
+						i = save_changes(WIN_MID|WIN_SAV);
+						if(i == -1)
+							continue;
 						done=1;
+						if(i == 0) {
+							save_msgs_cfg(&cfg);
+							refresh_cfg(&cfg);
+						}
 						break;
 					case 1:
 						uifc.helpbuf=
@@ -580,7 +587,14 @@ void net_cfg()
 					,"FidoNet EchoMail and NetMail",opt);
 				switch(i) {
 					case -1:	/* ESC */
+						i = save_changes(WIN_MID|WIN_SAV);
+						if(i == -1)
+							continue;
 						done=1;
+						if(i == 0) {
+							save_msgs_cfg(&cfg);
+							refresh_cfg(&cfg);
+						}
 						break;
 					case 0:
 						uifc.helpbuf=
@@ -924,7 +938,14 @@ void net_cfg()
 					,"Internet E-mail",opt);
 				switch(i) {
 					case -1:	/* ESC */
+						i = save_changes(WIN_MID|WIN_SAV);
+						if(i == -1)
+							continue;
 						done=1;
+						if(i == 0) {
+							save_msgs_cfg(&cfg);
+							refresh_cfg(&cfg);
+						}
 						break;
 					case 0:
 						edit_sys_inetaddr(false, false);
@@ -1055,14 +1076,6 @@ void net_cfg()
 				}
 			}
 		}
-
-		i=save_changes(WIN_MID|WIN_SAV);
-		if(i==-1)
-			continue;
-		if(!i) {
-			save_msgs_cfg(&cfg);
-			refresh_cfg(&cfg);
-		}
 		free_msgs_cfg(&cfg);
 		free_main_cfg(&cfg);
 	}