diff --git a/src/gui.c b/src/gui.c
index a4673f0..5689182 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -2253,6 +2253,7 @@
     int		col = gui.col;
 #ifdef FEAT_SIGN_ICONS
     int		draw_sign = FALSE;
+    char_u	extra[18];
 # ifdef FEAT_NETBEANS_INTG
     int		multi_sign = FALSE;
 # endif
@@ -2275,10 +2276,17 @@
 	    multi_sign = TRUE;
 # endif
 	/* draw spaces instead */
-	s = (char_u *)"  ";
+	if (*curwin->w_p_scl == 'n' && *(curwin->w_p_scl + 1) == 'u' &&
+		(curwin->w_p_nu || curwin->w_p_rnu))
+	{
+	    sprintf((char *)extra, "%*c ", number_width(curwin), ' ');
+	    s = extra;
+	}
+	else
+	    s = (char_u *)"  ";
 	if (len == 1 && col > 0)
 	    --col;
-	len = 2;
+	len = (int)STRLEN(s);
 	draw_sign = TRUE;
 	highlight_mask = 0;
     }
diff --git a/src/screen.c b/src/screen.c
index 914bf37..05639c3 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -3088,15 +3088,31 @@
 	if (gui.in_use && icon_sign != 0)
 	{
 	    // Use the image in this position.
-	    *c_extrap = SIGN_BYTE;
-	    *c_finalp = NUL;
+	    if (nrcol)
+	    {
+		*c_extrap = NUL;
+		sprintf((char *)extra, "%-*c ", number_width(wp), SIGN_BYTE);
+		*pp_extra = extra;
+		*n_extrap = (int)STRLEN(*pp_extra);
+	    }
+	    else
+		*c_extrap = SIGN_BYTE;
 #  ifdef FEAT_NETBEANS_INTG
 	    if (buf_signcount(wp->w_buffer, lnum) > 1)
 	    {
-		*c_extrap = MULTISIGN_BYTE;
-		*c_finalp = NUL;
+		if (nrcol)
+		{
+		    *c_extrap = NUL;
+		    sprintf((char *)extra, "%-*c ", number_width(wp),
+							MULTISIGN_BYTE);
+		    *pp_extra = extra;
+		    *n_extrap = (int)STRLEN(*pp_extra);
+		}
+		else
+		    *c_extrap = MULTISIGN_BYTE;
 	    }
 #  endif
+	    *c_finalp = NUL;
 	    *char_attrp = icon_sign;
 	}
 	else
@@ -3108,7 +3124,7 @@
 		{
 		    if (nrcol)
 		    {
-			sprintf((char *)extra, "%-*s ", number_width(wp),
+			sprintf((char *)extra, "%*s ", number_width(wp),
 								*pp_extra);
 			*pp_extra = extra;
 		    }
diff --git a/src/testdir/test_signs.vim b/src/testdir/test_signs.vim
index 1435e86..c979804 100644
--- a/src/testdir/test_signs.vim
+++ b/src/testdir/test_signs.vim
@@ -1776,7 +1776,7 @@
   " Enable number column. Check whether sign is displayed in the number column
   set number
   redraw!
-  call assert_equal("=>  01234", s:ScreenLine(1, 1, 9))
+  call assert_equal(" => 01234", s:ScreenLine(1, 1, 9))
 
   " Disable sign column. Make sure line number is displayed
   set signcolumn=no
diff --git a/src/version.c b/src/version.c
index 7e97f91..d71b86e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1570,
+/**/
     1569,
 /**/
     1568,
