--- st-1827e0643fc95b44d12eaf951be5994637d1b30d/st.c
+++ st-1827e0643fc95b44d12eaf951be5994637d1b30d-1/st.c
@@ -1932,7 +1932,9 @@
 			break;
 		default:
 			strescseq.buf[strescseq.len++] = ascii;
-			if(strescseq.len+1 >= STR_BUF_SIZ) {
+			if (len == 2)
+				strescseq.buf[strescseq.len++] = *(c+1);
+			if(strescseq.len+2 >= STR_BUF_SIZ) {
 				term.esc = 0;
 				strhandle();
 			}
