diff --git a/src/search.c b/src/search.c
index 18f7905..00f0a08 100644
--- a/src/search.c
+++ b/src/search.c
@@ -4765,9 +4765,6 @@
     pos_T	save_VIsual = VIsual;
     int		zero_width;
 
-    /* wrapping should not occur */
-    p_ws = FALSE;
-
     /* Correct cursor when 'selection' is exclusive */
     if (VIsual_active && *p_sel == 'e' && LT_POS(VIsual, curwin->w_cursor))
 	dec_cursor();
@@ -4786,10 +4783,7 @@
     zero_width = is_zero_width(spats[last_idx].pat, TRUE, &curwin->w_cursor,
 								      FORWARD);
     if (zero_width == -1)
-    {
-	p_ws = old_p_ws;
 	return FAIL;  /* pattern not found */
-    }
 
     /*
      * The trick is to first search backwards and then search forward again,
@@ -4808,11 +4802,17 @@
 	    flags = SEARCH_END;
 	end_pos = pos;
 
+	// wrapping should not occur in the first round
+	if (i == 0)
+	    p_ws = FALSE;
+
 	result = searchit(curwin, curbuf, &pos, &end_pos,
 		(dir ? FORWARD : BACKWARD),
 		spats[last_idx].pat, (long) (i ? count : 1),
 		SEARCH_KEEP | flags, RE_SEARCH, NULL);
 
+	p_ws = old_p_ws;
+
 	/* First search may fail, but then start searching from the
 	 * beginning of the file (cursor might be on the search match)
 	 * except when Visual mode is active, so that extending the visual
@@ -4822,7 +4822,6 @@
 	    curwin->w_cursor = orig_pos;
 	    if (VIsual_active)
 		VIsual = save_VIsual;
-	    p_ws = old_p_ws;
 	    return FAIL;
 	}
 	else if (i == 0 && !result)
@@ -4844,7 +4843,6 @@
     }
 
     start_pos = pos;
-    p_ws = old_p_ws;
 
     if (!VIsual_active)
 	VIsual = start_pos;
diff --git a/src/testdir/test_gn.vim b/src/testdir/test_gn.vim
index 9edf0a2..098fc3d 100644
--- a/src/testdir/test_gn.vim
+++ b/src/testdir/test_gn.vim
@@ -135,8 +135,9 @@
   call assert_equal(['ABCDEFGHi'], getline(1,'$'))
   call setline('.', ['abcdefghi'])
   let @/ = 'b'
+  " this gn wraps around the end of the file
   exe "norm! 0fhvhhgngU"
-  call assert_equal(['abcdefghi'], getline(1,'$'))
+  call assert_equal(['aBCDEFGHi'], getline(1,'$'))
   sil! %d _
   call setline('.', ['abcdefghi'])
   let @/ = 'f'
diff --git a/src/version.c b/src/version.c
index 4b1acc5..5f009e3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2244,
+/**/
     2243,
 /**/
     2242,
