diff --git a/src/conio/cterm.c b/src/conio/cterm.c
index 01bc00b63dc6a58066ed8744cb5372e0ec5345fa..5442027ba2cf8e9136ceacd9c26c462a8dce7cc7 100644
--- a/src/conio/cterm.c
+++ b/src/conio/cterm.c
@@ -4488,7 +4488,7 @@ cterm_reset(struct cterminal *cterm)
 
 struct cterminal* cterm_init(int height, int width, int xpos, int ypos, int backlines, int backcols, struct vmem_cell *scrollback, int emulation)
 {
-	char	*revision="$Revision: 1.318 $";
+	char	*revision="$Revision: 1.319 $";
 	char *in;
 	char	*out;
 	struct cterminal *cterm;
@@ -4530,7 +4530,7 @@ struct cterminal* cterm_init(int height, int width, int xpos, int ypos, int back
 		sem_init(&cterm->playnote_thread_terminated,0,0);
 		_beginthread(playnote_thread, 0, cterm);
 	}
-	if (cterm->emulation == CTERM_EMULATION_PRESTEL || cterm->emulation == CTERM_EMULATION_BEEB) {
+	if (cterm->emulation == CTERM_EMULATION_PRESTEL) {
 		cterm->cursor = _NOCURSOR;
 		ciolib_setcursortype(cterm->cursor);
 		memcpy(cterm->prestel_data[0], "????????????????", PRESTEL_MEM_SLOT_SIZE);
@@ -5351,7 +5351,7 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int
 					}
 				}
 				else if(cterm->sequence) {
-					if (cterm->emulation == CTERM_EMULATION_PRESTEL || cterm->emulation == CTERM_EMULATION_BEEB) {
+					if (cterm->emulation == CTERM_EMULATION_PRESTEL) {
 						if (cterm->prestel_prog_state == PRESTEL_PROG_NONE) {
 							if (ch[0] == '1')
 								cterm->prestel_prog_state = PRESTEL_PROG_1;
@@ -5970,9 +5970,6 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int
 								prn[0]=0;
 								prnpos = prn;
 								break;
-							case 5: // ENQ
-								prestel_send_memory(cterm, 0, retbuf, retsize);
-								break;
 							case 8: // APB (Active Position Backward)
 								uctputs(cterm, prn);
 								prn[0]=0;
@@ -6014,12 +6011,6 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int
 								cterm->cursor=_NOCURSOR;
 								ciolib_setcursortype(cterm->cursor);
 								break;
-							case 27: // ESC
-								uctputs(cterm, prn);
-								prn[0]=0;
-								prnpos = prn;
-								cterm->sequence=1;
-								break;
 							case 30: // APH (Active Position Home)
 								uctputs(cterm, prn);
 								prn[0]=0;
@@ -6027,6 +6018,21 @@ CIOLIBEXPORT size_t cterm_write(struct cterminal * cterm, const void *vbuf, int
 								gotoxy(CURR_MINX, CURR_MINY);
 								prestel_new_line(cterm);
 								break;
+							case 27: // ESC
+								if(cterm->emulation == CTERM_EMULATION_PRESTEL) {
+									uctputs(cterm, prn);
+									prn[0]=0;
+									prnpos = prn;
+									cterm->sequence=1;
+									break;
+								}
+								// Fall-through
+							case 5: // ENQ
+								if(cterm->emulation == CTERM_EMULATION_PRESTEL) {
+									prestel_send_memory(cterm, 0, retbuf, retsize);
+									break;
+								}
+								// Fall-through
 							default:
 								// "Normal" ASCII... including CR and LF in here.
 								if (buf[j] == 13 || buf[j] == 10 || (buf[j] >= 32 && buf[j] <= 127)) {
diff --git a/src/syncterm/CHANGES b/src/syncterm/CHANGES
index ad15bad0a640276acd4cb5aa6a6b2f96458f2b9e..1bfe50d1cd11c8f01669a1968bb1fa8c30a252cc 100644
--- a/src/syncterm/CHANGES
+++ b/src/syncterm/CHANGES
@@ -1,6 +1,7 @@
 Version 1.6b
 ------------
 Fix regression in Atari auto-login
+Disable Prestel ENQ/Memory in BBC Micro Mode 7
 
 Version 1.5
 ------------