diff --git a/src/os_unix.c b/src/os_unix.c
index f77debc..b34c316 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -2280,6 +2280,7 @@
 		|| STRNICMP(name, "kterm", 5) == 0
 		|| STRNICMP(name, "mlterm", 6) == 0
 		|| STRNICMP(name, "rxvt", 4) == 0
+		|| STRNICMP(name, "screen.xterm", 12) == 0
 		|| STRCMP(name, "builtin_xterm") == 0);
 }
 
diff --git a/src/term.c b/src/term.c
index 85292db..7460be9 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4496,6 +4496,8 @@
 		/* eat it when at least one digit and ending in 'c' */
 		if (*T_CRV != NUL && i > 2 + (tp[0] != CSI) && tp[i] == 'c')
 		{
+		    int version = col;
+
 		    LOG_TR("Received CRV response");
 		    crv_status = STATUS_GOT;
 # ifdef FEAT_AUTOCMD
@@ -4508,10 +4510,11 @@
 			switch_to_8bit();
 
 		    /* rxvt sends its version number: "20703" is 2.7.3.
+		     * Screen sends 40500.
 		     * Ignore it for when the user has set 'term' to xterm,
 		     * even though it's an rxvt. */
-		    if (col > 20000)
-			col = 0;
+		    if (version > 20000)
+			version = 0;
 
 		    if (tp[1 + (tp[0] != CSI)] == '>' && semicols == 2)
 		    {
@@ -4522,19 +4525,19 @@
 			if (!option_was_set((char_u *)"ttym"))
 			{
 # ifdef TTYM_SGR
-			    if (col >= 277)
+			    if (version >= 277)
 				set_option_value((char_u *)"ttym", 0L,
 							  (char_u *)"sgr", 0);
 			    else
 # endif
 			    /* if xterm version >= 95 use mouse dragging */
-			    if (col >= 95)
+			    if (version >= 95)
 				set_option_value((char_u *)"ttym", 0L,
 						       (char_u *)"xterm2", 0);
 			}
 
 			/* if xterm version >= 141 try to get termcap codes */
-			if (col >= 141)
+			if (version >= 141)
 			{
 			    LOG_TR("Enable checking for XT codes");
 			    check_for_codes = TRUE;
@@ -4543,7 +4546,7 @@
 			}
 
 			/* libvterm sends 0;100;0 */
-			if (col == 100
+			if (version == 100
 				&& STRNCMP(tp + extra - 2, "0;100;0c", 8) == 0)
 			{
 			    /* If run from Vim $COLORS is set to the number of
@@ -4558,24 +4561,25 @@
 			 * compatible. */
 #  ifdef MACOS
 			/* Mac Terminal.app sends 1;95;0 */
-			if (col == 95
+			if (version == 95
 				&& STRNCMP(tp + extra - 2, "1;95;0c", 7) == 0)
 			    is_not_xterm = TRUE;
 #  endif
 			/* Gnome terminal sends 1;3801;0 or 1;4402;0.
 			 * xfce4-terminal sends 1;2802;0.
+			 * screen sends 83;40500;0
 			 * Assuming any version number over 2800 is not an
-			 * xterm. */
+			 * xterm (without the limit for rxvt and screen). */
 			if (col >= 2800)
 			    is_not_xterm = TRUE;
 
 			/* PuTTY sends 0;136;0 */
-			if (col == 136
+			if (version == 136
 				&& STRNCMP(tp + extra - 2, "0;136;0c", 8) == 0)
 			    is_not_xterm = TRUE;
 
 			/* Konsole sends 0;115;0 */
-			if (col == 115
+			if (version == 115
 				&& STRNCMP(tp + extra - 2, "0;115;0c", 8) == 0)
 			    is_not_xterm = TRUE;
 
diff --git a/src/version.c b/src/version.c
index beb8ee7..807b2f1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1033,
+/**/
     1032,
 /**/
     1031,
