diff --git a/src/ops.c b/src/ops.c
index ff72258..f53567b 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -5492,6 +5492,8 @@
 
     for (i = lnum; i <= lnume; i++)
     {
+	colnr_T stop = 0;
+
 	t = curwin->w_cursor;
 	curwin->w_cursor.lnum = i;
 	ptr = ml_get_curline();
@@ -5501,30 +5503,27 @@
 	    continue;
 	if (visual)
 	{
-	    if (doalp) /* search for ascii chars */
+	    if (VIsual_mode == 'v'
+		    && i == lnume)
+		stop = curwin->w_cursor.col;
+	    else if (VIsual_mode == Ctrl_V
+		    && curbuf->b_visual.vi_curswant != MAXCOL)
+		stop = curwin->w_cursor.col;
+
+	    while (ptr[col] != NUL
+		    && !vim_isdigit(ptr[col])
+		    && !(doalp && ASCII_ISALPHA(ptr[col])))
 	    {
-		while (!ASCII_ISALPHA(ptr[col]) && ptr[col])
-		    col++;
+		if (col > 0  && col == stop)
+		    break;
+		++col;
 	    }
-	    /* skip to first digit, but allow for leading '-' */
-	    else if (dohex)
+
+	    if (col > startcol && ptr[col - 1] == '-')
 	    {
-		while (!(vim_isxdigit(ptr[col]) || (ptr[col] == '-'
-				    && vim_isxdigit(ptr[col+1]))) && ptr[col])
-		    col++;
+		negative = TRUE;
+		was_positive = FALSE;
 	    }
-	    else /* decimal */
-	    {
-		while (!(vim_isdigit(ptr[col]) || (ptr[col] == '-'
-				     && vim_isdigit(ptr[col+1]))) && ptr[col])
-		    col++;
-	    }
-	}
-	if (visual && ptr[col] == '-')
-	{
-	    negative = TRUE;
-	    was_positive = FALSE;
-	    col++;
 	}
 	/*
 	 * If a number was found, and saving for undo works, replace the number.
diff --git a/src/testdir/test_increment.in b/src/testdir/test_increment.in
index 916f77e..fb7e6e3 100644
--- a/src/testdir/test_increment.in
+++ b/src/testdir/test_increment.in
@@ -260,6 +260,16 @@
   9
   12
   
+19) increment on number with nrformat including alpha
+Text:
+ 1
+ 1a
+
+ Expected:
+ 1) <Ctrl-V>j$ <ctrl-a>
+ 2
+ 1b
+   
 
 
 STARTTEST
@@ -369,6 +379,13 @@
 :/^E18=/+put a
 V3kg..
 
+:" Test 19
+:set nrformats+=alpha
+:/^S19=/+,/^E19=/-y a
+:/^E19=/+put a
+k$
+:set nrformats&vim
+
 :" Save the report
 :/^# Test 1/,$w! test.out
 :qa!
@@ -547,6 +564,13 @@
 
 
 
+# Test 19
+S19====
+1
+1a
+E19====
+
+
 
 
 ENDTEST
diff --git a/src/testdir/test_increment.ok b/src/testdir/test_increment.ok
index 6ca0acc..685478e 100644
--- a/src/testdir/test_increment.ok
+++ b/src/testdir/test_increment.ok
@@ -261,6 +261,15 @@
 12
 
 
+# Test 19
+S19====
+1
+1a
+E19====
+
+2
+2a
+
 
 
 ENDTEST
diff --git a/src/version.c b/src/version.c
index 01fb7a8..714851b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    806,
+/**/
     805,
 /**/
     804,
