diff --git a/src/syncterm/term.c b/src/syncterm/term.c
index 1c9a8205b79cd169cc7f8b47b34f5e65af69edaa..7b6bb9dba1015ea512dc7956b8d0f9f0ac1e03de 100644
--- a/src/syncterm/term.c
+++ b/src/syncterm/term.c
@@ -5035,9 +5035,17 @@ doterm(struct bbslist *bbs)
 					}
 					// TODO: Add clear screen key?
 					default:
-						if (key == 13 || (key < 129 && key > 31)) {
-							ch[0] = key;
-							conn_send(ch, 1, 0);
+						if (cterm->emulation == CTERM_EMULATION_PRESTEL) {
+							if (key == 13 || (key < 128 && key > 31)) {
+								ch[0] = key;
+								conn_send(ch, 1, 0);
+							}
+						}
+						else {
+							if (key < 128) {
+								ch[0] = key;
+								conn_send(ch, 1, 0);
+							}
 						}
 						break;
 				}