diff --git a/src/syncterm/CHANGES b/src/syncterm/CHANGES
index b23f5b2ebe430c15227d97eb33251b8182789bfc..dd46139f5b8b593f330e2bb33eddfd3f3c13cc29 100644
--- a/src/syncterm/CHANGES
+++ b/src/syncterm/CHANGES
@@ -8,6 +8,7 @@ Add blank pixel to left and top of Prestel DEL glyph
 Fix crash when editing blank "extra" bbslist entry
 Support copy/paste in BBS list
 Show current list path, not default in File Locations
+Explicitly set serial port to 8N1
 
 Version 1.2rc6
 --------------
diff --git a/src/syncterm/modem.c b/src/syncterm/modem.c
index 0a9fd6fcd0e462fef0bb5ef42a3167c021f370a4..2e0ef5950e223d180a4afae178d6baee40011be1 100644
--- a/src/syncterm/modem.c
+++ b/src/syncterm/modem.c
@@ -164,6 +164,22 @@ modem_connect(struct bbslist *bbs)
 				return -1;
 			}
 		}
+		if (!comSetParity(com, false, false)) {
+			if (!bbs->hidepopups)
+				uifcmsg("Cannot Set Parity", "`Cannot Set Parity`\n\n"
+				    "Cannot open the specified serial device.\n");
+			conn_api.terminate = -1;
+			comClose(com);
+			return -1;
+		}
+		if (!comSetBits(com, 8, 1)) {
+			if (!bbs->hidepopups)
+				uifcmsg("Cannot Set Data Bits", "`Cannot Set Data Bits`\n\n"
+				    "Cannot open the specified serial device.\n");
+			conn_api.terminate = -1;
+			comClose(com);
+			return -1;
+		}
 		if (bbs->conn_type == CONN_TYPE_SERIAL_NORTS)
 			comLowerRTS(com);
 		if (!comRaiseDTR(com)) {