diff --git a/src/sign.c b/src/sign.c
index af7771e..734dd25 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -374,8 +374,8 @@
 
 /*
  * Return the type number of the sign at line number 'lnum' in buffer 'buf'
- * which has the attribute specifed by 'type'. Returns 0 if a sign is not found
- * at the line number or it doesn't have the specified attribute.
+ * which has the attribute specified by 'type'. Returns 0 if a sign is not
+ * found at the line number or it doesn't have the specified attribute.
  */
     int
 buf_getsigntype(
@@ -442,7 +442,7 @@
 	    redraw_buf_line_later(buf, lnum);
 
 	    // Check whether only one sign needs to be deleted
-	    // If deleting a sign with a specific identifer in a particular
+	    // If deleting a sign with a specific identifier in a particular
 	    // group or deleting any sign at a particular line number, delete
 	    // only one sign.
 	    if (group == NULL
@@ -455,9 +455,12 @@
     }
 
     // When deleting the last sign the cursor position may change, because the
-    // sign columns no longer shows.
+    // sign columns no longer shows.  And the 'signcolumn' may be hidden.
     if (buf->b_signlist == NULL)
+    {
+	redraw_buf_later(buf, NOT_VALID);
 	changed_cline_bef_curs();
+    }
 
     return lnum;
 }
@@ -894,7 +897,7 @@
 }
 
 /*
- * Place a sign at the specifed file location or update a sign.
+ * Place a sign at the specified file location or update a sign.
  */
     int
 sign_place(
