diff --git a/src/conio/ansi_cio.c b/src/conio/ansi_cio.c
index 670ed89e07a47d1c27768f2910155d936dcd1508..88c882f6c394dce530514ccf7a307801c3629d58 100644
--- a/src/conio/ansi_cio.c
+++ b/src/conio/ansi_cio.c
@@ -217,8 +217,13 @@ static void ansi_sendch(char ch)
 		ciolib_ansi_writebyte_cb(0);
 	ciolib_ansi_writebyte_cb((unsigned char)ch);
 	/* We sent a control char... better make the next movement explicit */
-	if(ch<' ' && ch > 0)
-		force_move=1;
+	if(ch<' ' && ch > 0) {
+		if(doorway_enabled) {
+			/* In doorway mode, some chars may want to force movement... */
+		}
+		else
+			force_move=1;
+	}
 }
 
 static void ansi_sendstr(char *str,int len)