diff --git a/src/option.c b/src/option.c
index 1ba08f7..d9cfda0 100644
--- a/src/option.c
+++ b/src/option.c
@@ -2978,6 +2978,7 @@
     p_term("t_WS", T_CWS)
     p_term("t_SI", T_CSI)
     p_term("t_EI", T_CEI)
+    p_term("t_xn", T_XN)
     p_term("t_xs", T_XS)
     p_term("t_ZH", T_CZH)
     p_term("t_ZR", T_CZR)
diff --git a/src/screen.c b/src/screen.c
index 2ebd98b..f735552 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -7968,9 +7968,11 @@
     if (row >= screen_Rows || col >= screen_Columns)
 	return;
 
-    /* Outputting the last character on the screen may scrollup the screen.
-     * Don't to it!  Mark the character invalid (update it when scrolled up) */
-    if (row == screen_Rows - 1 && col == screen_Columns - 1
+    /* Outputting a character in the last cell on the screen may scroll the
+     * screen up.  Only do it when the "xn" termcap property is set, otherwise
+     * mark the character invalid (update it when scrolled up). */
+    if (*T_XN == NUL
+	    && row == screen_Rows - 1 && col == screen_Columns - 1
 #ifdef FEAT_RIGHTLEFT
 	    /* account for first command-line character in rightleft mode */
 	    && !cmdmsg_rl
diff --git a/src/term.c b/src/term.c
index a1ab537..0d797bc 100644
--- a/src/term.c
+++ b/src/term.c
@@ -200,6 +200,7 @@
     {(int)KS_VB,	IF_EB("\033|f", ESC_STR "|f")},
     {(int)KS_MS,	"y"},
     {(int)KS_UT,	"y"},
+    {(int)KS_XN,	"y"},
     {(int)KS_LE,	"\b"},		/* cursor-left = BS */
     {(int)KS_ND,	"\014"},	/* cursor-right = CTRL-L */
 # ifdef TERMINFO
@@ -658,6 +659,7 @@
 
     {(int)KS_MS,	"y"},		/* save to move cur in reverse mode */
     {(int)KS_UT,	"y"},
+    {(int)KS_XN,	"y"},
     {(int)KS_LE,	"\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,	"\033|%i%p1%d;%p2%dH"},/* cursor motion */
@@ -772,6 +774,7 @@
     {(int)KS_CSF,	IF_EB("\033[101;%dm", ESC_STR "[101;%dm")},	/* set screen foreground color */
     {(int)KS_MS,	"y"},
     {(int)KS_UT,	"y"},
+    {(int)KS_XN,	"y"},
     {(int)KS_LE,	"\b"},
 #  ifdef TERMINFO
     {(int)KS_CM,	IF_EB("\033[%i%p1%d;%p2%dH",
@@ -1207,6 +1210,7 @@
     {(int)KS_UCS,	"[UCS]"},
     {(int)KS_MS,	"[MS]"},
     {(int)KS_UT,	"[UT]"},
+    {(int)KS_XN,	"[XN]"},
 #  ifdef TERMINFO
     {(int)KS_CM,	"[%p1%dCM%p2%d]"},
 #  else
@@ -1645,6 +1649,9 @@
 		if ((T_XS == NULL || T_XS == empty_option)
 							&& tgetflag("xs") > 0)
 		    T_XS = (char_u *)"y";
+		if ((T_XN == NULL || T_XN == empty_option)
+							&& tgetflag("xn") > 0)
+		    T_XN = (char_u *)"y";
 		if ((T_DB == NULL || T_DB == empty_option)
 							&& tgetflag("db") > 0)
 		    T_DB = (char_u *)"y";
diff --git a/src/term.h b/src/term.h
index 22b60b1..28390a2 100644
--- a/src/term.h
+++ b/src/term.h
@@ -66,6 +66,7 @@
     KS_CSF,	/* set foreground color */
     KS_CSB,	/* set background color */
     KS_XS,	/* standout not erased by overwriting (hpterm) */
+    KS_XN,	/* newline glitch */
     KS_MB,	/* blink mode */
     KS_CAF,	/* set foreground color (ANSI) */
     KS_CAB,	/* set background color (ANSI) */
@@ -144,6 +145,7 @@
 #define T_CSF	(term_str(KS_CSF))	/* set foreground color */
 #define T_CSB	(term_str(KS_CSB))	/* set background color */
 #define T_XS	(term_str(KS_XS))	/* standout not erased by overwriting */
+#define T_XN	(term_str(KS_XN))	/* newline glitch */
 #define T_MB	(term_str(KS_MB))	/* blink mode */
 #define T_CAF	(term_str(KS_CAF))	/* set foreground color (ANSI) */
 #define T_CAB	(term_str(KS_CAB))	/* set background color (ANSI) */
diff --git a/src/version.c b/src/version.c
index 8ef229a..9a813d7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    627,
+/**/
     626,
 /**/
     625,
