diff --git a/src/syncterm/bbslist.c b/src/syncterm/bbslist.c
index 809404c4acef829fee3c22200d2c9a42237042ca..66e64015ec7815a435608fa981f1eb74a115fcf2 100644
--- a/src/syncterm/bbslist.c
+++ b/src/syncterm/bbslist.c
@@ -1257,10 +1257,12 @@ custom_mode_adjusted(int *cur, char **opt)
 	uifcbail();
 	textmode(0);
 	cvmode = find_vmode(ti.currmode);
-	vparams[cvmode].cols = settings.custom_cols;
-	vparams[cvmode].rows = settings.custom_rows;
-	vparams[cvmode].charheight = settings.custom_fontheight;
-	textmode(ti.currmode);
+	if (cvmode >= 0) {
+		vparams[cvmode].cols = settings.custom_cols;
+		vparams[cvmode].rows = settings.custom_rows;
+		vparams[cvmode].charheight = settings.custom_fontheight;
+		textmode(ti.currmode);
+	}
 	init_uifc(TRUE, TRUE);
 
 	// Draw BBS List