diff --git a/src/term.c b/src/term.c
index 2603172..b55d395 100644
--- a/src/term.c
+++ b/src/term.c
@@ -914,10 +914,10 @@
     {K_RIGHT,		IF_EB("\033O*C", ESC_STR "O*C")},
     {K_LEFT,		IF_EB("\033O*D", ESC_STR "O*D")},
     // An extra set of cursor keys for vt100 mode
-    {K_XUP,		IF_EB("\033[1;*A", ESC_STR "[1;*A")},
-    {K_XDOWN,		IF_EB("\033[1;*B", ESC_STR "[1;*B")},
-    {K_XRIGHT,		IF_EB("\033[1;*C", ESC_STR "[1;*C")},
-    {K_XLEFT,		IF_EB("\033[1;*D", ESC_STR "[1;*D")},
+    {K_XUP,		IF_EB("\033[@;*A", ESC_STR "[@;*A")},
+    {K_XDOWN,		IF_EB("\033[@;*B", ESC_STR "[@;*B")},
+    {K_XRIGHT,		IF_EB("\033[@;*C", ESC_STR "[@;*C")},
+    {K_XLEFT,		IF_EB("\033[@;*D", ESC_STR "[@;*D")},
     // An extra set of function keys for vt100 mode
     {K_XF1,		IF_EB("\033O*P", ESC_STR "O*P")},
     {K_XF2,		IF_EB("\033O*Q", ESC_STR "O*Q")},
@@ -4230,7 +4230,12 @@
     termcodes[i].modlen = 0;
     j = termcode_star(s, len);
     if (j > 0)
+    {
 	termcodes[i].modlen = len - 1 - j;
+	// For "CSI[@;X" the "@" is not included in "modlen".
+	if (termcodes[i].code[termcodes[i].modlen - 1] == '@')
+	    --termcodes[i].modlen;
+    }
     ++tc_len;
 }
 
@@ -4242,7 +4247,7 @@
     static int
 termcode_star(char_u *code, int len)
 {
-    // Shortest is <M-O>*X.  With ; shortest is <CSI>1;*X
+    // Shortest is <M-O>*X.  With ; shortest is <CSI>@;*X
     if (len >= 3 && code[len - 2] == '*')
     {
 	if (len >= 5 && code[len - 3] == ';')
@@ -5329,15 +5334,19 @@
 		/*
 		 * Check for code with modifier, like xterm uses:
 		 * <Esc>[123;*X  (modslen == slen - 3)
+		 * <Esc>[@;*X    (matches <Esc>[X and <Esc>[1;9X )
 		 * Also <Esc>O*X and <M-O>*X (modslen == slen - 2).
 		 * When there is a modifier the * matches a number.
 		 * When there is no modifier the ;* or * is omitted.
 		 */
 		if (termcodes[idx].modlen > 0)
 		{
+		    int at_code;
+
 		    modslen = termcodes[idx].modlen;
 		    if (cpo_koffset && offset && len < modslen)
 			continue;
+		    at_code = termcodes[idx].code[modslen] == '@';
 		    if (STRNCMP(termcodes[idx].code, tp,
 				(size_t)(modslen > len ? len : modslen)) == 0)
 		    {
@@ -5347,9 +5356,14 @@
 			    return -1;		// need to get more chars
 
 			if (tp[modslen] == termcodes[idx].code[slen - 1])
-			    slen = modslen + 1;	// no modifiers
+			    // no modifiers
+			    slen = modslen + 1;
 			else if (tp[modslen] != ';' && modslen == slen - 3)
-			    continue;	// no match
+			    // no match for "code;*X" with "code;"
+			    continue;
+			else if (at_code && tp[modslen] != '1')
+			    // no match for "<Esc>[@" with "<Esc>[1"
+			    continue;
 			else
 			{
 			    // Skip over the digits, the final char must
