diff --git a/src/sbbs3/echocfg.c b/src/sbbs3/echocfg.c
index 10648ebe0ea0f6d366bc9e557e7ab9647738396c..f7544e53132eca3dec38a010be4035070ea9e3d1 100644
--- a/src/sbbs3/echocfg.c
+++ b/src/sbbs3/echocfg.c
@@ -888,12 +888,12 @@ int main(int argc, char **argv)
 		}
 	uifc.size=sizeof(uifc);
 	if(!door_mode) {
+		ciolib_initial_mode = video_mode;
 		i=initciolib(ciolib_mode);
 		if(i!=0) {
     		printf("ciolib library init returned error %d\n",i);
     		exit(1);
 		}
-		textmode(video_mode);
 		ciolib_settitle("Synchronet FidoNet Configuration");
     	i=uifcini32(&uifc);  /* curses/conio/X/ANSI */
 	}
diff --git a/src/sbbs3/scfg/scfg.c b/src/sbbs3/scfg/scfg.c
index bfc863fe19b4ca50d721cbab4d6729ffa4541f36..39726b22a720b27d7c2e2e120525e6105717f548 100644
--- a/src/sbbs3/scfg/scfg.c
+++ b/src/sbbs3/scfg/scfg.c
@@ -717,12 +717,12 @@ int main(int argc, char **argv)
 	}
 	uifc.size=sizeof(uifc);
 	if(!door_mode) {
+		ciolib_initial_mode = video_mode;
 		i=initciolib(ciolib_mode);
 		if(i!=0) {
     		printf("ciolib library init returned error %d\n",i);
     		exit(1);
 		}
-		textmode(video_mode);
 		ciolib_settitle("Synchronet Configuration");
 		i=uifcini32(&uifc);  /* curses/conio/X/ANSI */
 		if(alt_chars) {