Index: src/keymap.c
===================================================================
--- src/keymap.c	(revision 1887)
+++ src/keymap.c	(working copy)
@@ -1386,6 +1386,13 @@
 	nnormal = g_malloc0(*normal_length + 4);
 	memcpy(nnormal, *normal, *normal_length);
 	if (strlen(nnormal) > 1) {
+		/* SS3 should have no modifiers so make it CSI instead. See
+		 * http://cvsweb.xfree86.org/cvsweb/xc/programs/xterm/input.c.diff?r1=3.57&r2=3.58
+		 */
+		if (g_str_has_prefix(nnormal, _VTE_CAP_SS3)) {
+			nnormal[1] = '[';
+		}
+
 		/* Get the offset of the last character. */
 		offset = strlen(nnormal) - 1;
 		if (g_ascii_isdigit(nnormal[offset - 1])) {
