diff --git a/src/sign.c b/src/sign.c
index 935ec3c..9d8d7ac 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -1025,6 +1025,16 @@
 	else
 	    sp_prev->sn_next = sp;
     }
+    else
+    {
+	win_T *wp;
+
+	// Signs may already exist, a redraw is needed in windows with a
+	// non-empty sign list.
+	FOR_ALL_WINDOWS(wp)
+	    if (wp->w_buffer->b_signlist != NULL)
+		redraw_buf_later(wp->w_buffer, NOT_VALID);
+    }
 
     // set values for a defined sign.
     if (icon != NULL)
@@ -1781,10 +1791,8 @@
     else
     {
 	FOR_ALL_BUFFERS(buf)
-	{
 	    if (buf->b_signlist != NULL)
 		sign_get_placed_in_buf(buf, 0, sign_id, sign_group, retlist);
-	}
     }
 }
 
diff --git a/src/testdir/dumps/Test_sign_cursor_01.dump b/src/testdir/dumps/Test_sign_cursor_1.dump
similarity index 100%
rename from src/testdir/dumps/Test_sign_cursor_01.dump
rename to src/testdir/dumps/Test_sign_cursor_1.dump
diff --git a/src/testdir/dumps/Test_sign_cursor_2.dump b/src/testdir/dumps/Test_sign_cursor_2.dump
new file mode 100644
index 0000000..2d10a2c
--- /dev/null
+++ b/src/testdir/dumps/Test_sign_cursor_2.dump
@@ -0,0 +1,6 @@
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@72
+| +0#0000e05#a8a8a8255@1|x+0#0000000#ffffff0@1| @70
+|-+0&#ffff4012|)>m+0&#ffffff0@3| @68
+| +0#0000e05#a8a8a8255@1|y+0#0000000#ffffff0@3| @68
+|~+0#4040ff13&| @73
+|:+0#0000000&|s|i|g|n| |d|e|f|i|n|e| |s|1| |t|e|x|t|=|-|)| @33|2|,|1| @10|A|l@1| 
diff --git a/src/testdir/dumps/Test_sign_cursor_02.dump b/src/testdir/dumps/Test_sign_cursor_3.dump
similarity index 100%
rename from src/testdir/dumps/Test_sign_cursor_02.dump
rename to src/testdir/dumps/Test_sign_cursor_3.dump
diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim
index 862199c..d480671 100644
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -1747,12 +1747,16 @@
   END
   call writefile(lines, 'XtestSigncolumn')
   let buf = RunVimInTerminal('-S XtestSigncolumn', {'rows': 6})
-  call VerifyScreenDump(buf, 'Test_sign_cursor_01', {})
+  call VerifyScreenDump(buf, 'Test_sign_cursor_1', {})
+
+  " Change the sign text
+  call term_sendkeys(buf, ":sign define s1 text=-)\<CR>")
+  call VerifyScreenDump(buf, 'Test_sign_cursor_2', {})
 
   " update cursor position calculation
   call term_sendkeys(buf, "lh")
   call term_sendkeys(buf, ":sign unplace 10\<CR>")
-  call VerifyScreenDump(buf, 'Test_sign_cursor_02', {})
+  call VerifyScreenDump(buf, 'Test_sign_cursor_3', {})
 
 
   " clean up
diff --git a/src/version.c b/src/version.c
index f15d748..e06dfc6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    108,
+/**/
     107,
 /**/
     106,
