diff --git a/src/option.c b/src/option.c
index 6b3b00c..cf3a317 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_SR", T_CSR)
     p_term("t_xn", T_XN)
     p_term("t_xs", T_XS)
     p_term("t_ZH", T_CZH)
@@ -8560,7 +8561,7 @@
 	    errmsg = e_invarg;
 	    curwin->w_p_nuw = 10;
 	}
-	curwin->w_nrwidth_line_count = 0;
+	curwin->w_nrwidth_line_count = 0; /* trigger a redraw */
     }
 #endif
 
diff --git a/src/term.c b/src/term.c
index 0d797bc..ffe9d43 100644
--- a/src/term.c
+++ b/src/term.c
@@ -3567,27 +3567,46 @@
 
 #if defined(CURSOR_SHAPE) || defined(PROTO)
 /*
- * Set cursor shape to match Insert mode.
+ * Set cursor shape to match Insert or Replace mode.
  */
     void
 term_cursor_shape()
 {
-    static int showing_insert_mode = MAYBE;
+    static int showing_mode = NORMAL;
+    char_u *p;
 
-    if (!full_screen || *T_CSI == NUL || *T_CEI == NUL)
+    /* Only do something when redrawing the screen and we can restore the
+     * mode. */
+    if (!full_screen || *T_CEI == NUL)
 	return;
 
-    if (State & INSERT)
+    if ((State & REPLACE) == REPLACE)
     {
-	if (showing_insert_mode != TRUE)
-	    out_str(T_CSI);	    /* Insert mode cursor */
-	showing_insert_mode = TRUE;
+	if (showing_mode != REPLACE)
+	{
+	    if (*T_CSR != NUL)
+		p = T_CSR;	/* Replace mode cursor */
+	    else
+		p = T_CSI;	/* fall back to Insert mode cursor */
+	    if (*p != NUL)
+	    {
+		out_str(p);
+		showing_mode = REPLACE;
+	    }
+	}
     }
-    else
+    else if (State & INSERT)
     {
-	if (showing_insert_mode != FALSE)
-	    out_str(T_CEI);	    /* non-Insert mode cursor */
-	showing_insert_mode = FALSE;
+	if (showing_mode != INSERT && *T_CSI != NUL)
+	{
+	    out_str(T_CSI);	    /* Insert mode cursor */
+	    showing_mode = INSERT;
+	}
+    }
+    else if (showing_mode != NORMAL)
+    {
+	out_str(T_CEI);		    /* non-Insert mode cursor */
+	showing_mode = NORMAL;
     }
 }
 #endif
diff --git a/src/term.h b/src/term.h
index 28390a2..12d5eb9 100644
--- a/src/term.h
+++ b/src/term.h
@@ -81,6 +81,7 @@
     KS_CRV,	/* request version string */
     KS_CSI,	/* start insert mode (bar cursor) */
     KS_CEI,	/* end insert mode (block cursor) */
+    KS_CSR,	/* start replace mode (underline cursor) */
 #ifdef FEAT_VERTSPLIT
     KS_CSV,	/* scroll region vertical */
 #endif
@@ -159,6 +160,7 @@
 #define T_CWS	(term_str(KS_CWS))	/* window size */
 #define T_CSI	(term_str(KS_CSI))	/* start insert mode */
 #define T_CEI	(term_str(KS_CEI))	/* end insert mode */
+#define T_CSR	(term_str(KS_CSR))	/* start replace mode */
 #define T_CRV	(term_str(KS_CRV))	/* request version string */
 #define T_OP	(term_str(KS_OP))	/* original color pair */
 #define T_U7	(term_str(KS_U7))	/* request cursor position */
diff --git a/src/version.c b/src/version.c
index 89e7084..dcecdc4 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    687,
+/**/
     686,
 /**/
     685,
