diff --git a/src/search.c b/src/search.c
index aa16d44..920c68c 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2145,6 +2145,8 @@
     else if (initc != '#' && initc != NUL)
     {
 	find_mps_values(&initc, &findc, &backwards, TRUE);
+	if (dir)
+	    backwards = (dir == FORWARD) ? FALSE : TRUE;
 	if (findc == NUL)
 	    return NULL;
     }
diff --git a/src/testdir/test_textobjects.vim b/src/testdir/test_textobjects.vim
index c691c8b..088b5d2 100644
--- a/src/testdir/test_textobjects.vim
+++ b/src/testdir/test_textobjects.vim
@@ -564,4 +564,36 @@
   close!
 endfunc
 
+" Test for i(, i<, etc. when cursor is in front of a block
+func Test_textobj_find_paren_forward()
+  new
+
+  " i< and a> when cursor is in front of a block
+  call setline(1, '#include <foo.h>')
+  normal 0yi<
+  call assert_equal('foo.h', @")
+  normal 0ya>
+  call assert_equal('<foo.h>', @")
+
+  " 2i(, 3i( in front of a block enters second/third nested '('
+  call setline(1, 'foo (bar (baz (quux)))')
+  normal 0yi)
+  call assert_equal('bar (baz (quux))', @")
+  normal 02yi)
+  call assert_equal('baz (quux)', @")
+  normal 03yi)
+  call assert_equal('quux', @")
+
+  " 3i( in front of a block doesn't enter third but un-nested '('
+  call setline(1, 'foo (bar (baz) (quux))')
+  normal 03di)
+  call assert_equal('foo (bar (baz) (quux))', getline(1))
+  normal 02di)
+  call assert_equal('foo (bar () (quux))', getline(1))
+  normal 0di)
+  call assert_equal('foo ()', getline(1))
+
+  close!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/textobject.c b/src/textobject.c
index 2d5d5dd..e4a7db3 100644
--- a/src/textobject.c
+++ b/src/textobject.c
@@ -1079,12 +1079,25 @@
      */
     save_cpo = p_cpo;
     p_cpo = (char_u *)(vim_strchr(p_cpo, CPO_MATCHBSL) != NULL ? "%M" : "%");
-    while (count-- > 0)
+    if ((pos = findmatch(NULL, what)) != NULL)
     {
-	if ((pos = findmatch(NULL, what)) == NULL)
-	    break;
-	curwin->w_cursor = *pos;
-	start_pos = *pos;   // the findmatch for end_pos will overwrite *pos
+	while (count-- > 0)
+	{
+	    if ((pos = findmatch(NULL, what)) == NULL)
+		break;
+	    curwin->w_cursor = *pos;
+	    start_pos = *pos;   // the findmatch for end_pos will overwrite *pos
+	}
+    }
+    else
+    {
+	while (count-- > 0)
+	{
+	    if ((pos = findmatchlimit(NULL, what, FM_FORWARD, 0)) == NULL)
+		break;
+	    curwin->w_cursor = *pos;
+	    start_pos = *pos;   // the findmatch for end_pos will overwrite *pos
+	}
     }
     p_cpo = save_cpo;
 
diff --git a/src/version.c b/src/version.c
index c901996..d8e07b1 100644
--- a/src/version.c
+++ b/src/version.c
@@ -756,6 +756,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    3255,
+/**/
     3254,
 /**/
     3253,
