diff --git a/src/ex_getln.c b/src/ex_getln.c
index f6e5097..3ac5fd6 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1503,82 +1503,14 @@
 
 	case Ctrl_N:	    /* next match */
 	case Ctrl_P:	    /* previous match */
-#ifdef FEAT_SEARCH_EXTRA
-		    if (p_is && !cmd_silent && (firstc == '/' || firstc == '?'))
-		    {
-			pos_T  t;
-			int    search_flags = SEARCH_KEEP + SEARCH_NOOF
-								 + SEARCH_PEEK;
-
-			if (char_avail())
-			    continue;
-			cursor_off();
-			out_flush();
-			if (c == Ctrl_N)
-			{
-			    t = match_end;
-			    search_flags += SEARCH_COL;
-			}
-			else
-			    t = match_start;
-			++emsg_off;
-			i = searchit(curwin, curbuf, &t,
-				     c == Ctrl_N ? FORWARD : BACKWARD,
-				     ccline.cmdbuff, count, search_flags,
-				     RE_SEARCH, 0, NULL);
-			--emsg_off;
-			if (i)
-			{
-			    old_cursor = match_start;
-			    match_end = t;
-			    match_start = t;
-			    if (c == Ctrl_P && firstc == '/')
-			    {
-				/* move just before the current match, so that
-				 * when nv_search finishes the cursor will be
-				 * put back on the match */
-				old_cursor = t;
-				(void)decl(&old_cursor);
-			    }
-			    if (lt(t, old_cursor) && c == Ctrl_N)
-			    {
-				/* wrap around */
-				old_cursor = t;
-				if (firstc == '?')
-				    (void)incl(&old_cursor);
-				else
-				    (void)decl(&old_cursor);
-			    }
-
-			    set_search_match(&match_end);
-			    curwin->w_cursor = match_start;
-			    changed_cline_bef_curs();
-			    update_topline();
-			    validate_cursor();
-			    highlight_match = TRUE;
-			    old_curswant = curwin->w_curswant;
-			    old_leftcol = curwin->w_leftcol;
-			    old_topline = curwin->w_topline;
-# ifdef FEAT_DIFF
-			    old_topfill = curwin->w_topfill;
-# endif
-			    old_botline = curwin->w_botline;
-			    update_screen(NOT_VALID);
-			    redrawcmdline();
-			}
-			else
-			    vim_beep(BO_ERROR);
-			goto cmdline_not_changed;
-		}
-		else
-#endif
 		if (xpc.xp_numfiles > 0)
 		{
 		    if (nextwild(&xpc, (c == Ctrl_P) ? WILD_PREV : WILD_NEXT,
 						    0, firstc != '@') == FAIL)
 			break;
-		    goto cmdline_changed;
+		    goto cmdline_not_changed;
 		}
+		/* FALLTHROUGH */
 
 #ifdef FEAT_CMDHIST
 	case K_UP:
@@ -1722,6 +1654,77 @@
 		    goto cmdline_changed;
 		}
 		beep_flush();
+#endif
+		goto cmdline_not_changed;
+
+	case Ctrl_G:	    /* next match */
+	case Ctrl_T:	    /* previous match */
+#ifdef FEAT_SEARCH_EXTRA
+		if (p_is && !cmd_silent && (firstc == '/' || firstc == '?'))
+		{
+		    pos_T  t;
+		    int    search_flags = SEARCH_KEEP + SEARCH_NOOF
+							     + SEARCH_PEEK;
+
+		    if (char_avail())
+			continue;
+		    cursor_off();
+		    out_flush();
+		    if (c == Ctrl_G)
+		    {
+			t = match_end;
+			search_flags += SEARCH_COL;
+		    }
+		    else
+			t = match_start;
+		    ++emsg_off;
+		    i = searchit(curwin, curbuf, &t,
+				 c == Ctrl_G ? FORWARD : BACKWARD,
+				 ccline.cmdbuff, count, search_flags,
+				 RE_SEARCH, 0, NULL);
+		    --emsg_off;
+		    if (i)
+		    {
+			old_cursor = match_start;
+			match_end = t;
+			match_start = t;
+			if (c == Ctrl_T && firstc == '/')
+			{
+			    /* move just before the current match, so that
+			     * when nv_search finishes the cursor will be
+			     * put back on the match */
+			    old_cursor = t;
+			    (void)decl(&old_cursor);
+			}
+			if (lt(t, old_cursor) && c == Ctrl_G)
+			{
+			    /* wrap around */
+			    old_cursor = t;
+			    if (firstc == '?')
+				(void)incl(&old_cursor);
+			    else
+				(void)decl(&old_cursor);
+			}
+
+			set_search_match(&match_end);
+			curwin->w_cursor = match_start;
+			changed_cline_bef_curs();
+			update_topline();
+			validate_cursor();
+			highlight_match = TRUE;
+			old_curswant = curwin->w_curswant;
+			old_leftcol = curwin->w_leftcol;
+			old_topline = curwin->w_topline;
+# ifdef FEAT_DIFF
+			old_topfill = curwin->w_topfill;
+# endif
+			old_botline = curwin->w_botline;
+			update_screen(NOT_VALID);
+			redrawcmdline();
+		    }
+		    else
+			vim_beep(BO_ERROR);
+		}
 		goto cmdline_not_changed;
 #endif
 
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index 4f1cfcc..6e51460 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -16,11 +16,11 @@
   call feedkeys("/foobar\<cr>", 'tx')
   call feedkeys("/the\<cr>",'tx')
   call assert_equal('the', @/)
-  call feedkeys("/thes\<c-p>\<c-p>\<cr>",'tx')
+  call feedkeys("/thes\<C-P>\<C-P>\<cr>",'tx')
   call assert_equal('foobar', @/)
 
   " Test 2
-  " Ctrl-N goes from one match to the next
+  " Ctrl-G goes from one match to the next
   " until the end of the buffer
   set incsearch nowrapscan
   :1
@@ -29,39 +29,39 @@
   call assert_equal('  2 these', getline('.'))
   :1
   " second match
-  call feedkeys("/the\<c-n>\<cr>", 'tx')
+  call feedkeys("/the\<C-G>\<cr>", 'tx')
   call assert_equal('  3 the', getline('.'))
   :1
   " third match
-  call feedkeys("/the".repeat("\<c-n>", 2)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 2)."\<cr>", 'tx')
   call assert_equal('  4 their', getline('.'))
   :1
   " fourth match
-  call feedkeys("/the".repeat("\<c-n>", 3)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 3)."\<cr>", 'tx')
   call assert_equal('  5 there', getline('.'))
   :1
   " fifth match
-  call feedkeys("/the".repeat("\<c-n>", 4)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 4)."\<cr>", 'tx')
   call assert_equal('  6 their', getline('.'))
   :1
   " sixth match
-  call feedkeys("/the".repeat("\<c-n>", 5)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 5)."\<cr>", 'tx')
   call assert_equal('  7 the', getline('.'))
   :1
   " seventh match
-  call feedkeys("/the".repeat("\<c-n>", 6)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 6)."\<cr>", 'tx')
   call assert_equal('  8 them', getline('.'))
   :1
   " eigth match
-  call feedkeys("/the".repeat("\<c-n>", 7)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 7)."\<cr>", 'tx')
   call assert_equal('  9 these', getline('.'))
   :1
   " no further match
-  call feedkeys("/the".repeat("\<c-n>", 8)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 8)."\<cr>", 'tx')
   call assert_equal('  9 these', getline('.'))
 
   " Test 3
-  " Ctrl-N goes from one match to the next
+  " Ctrl-G goes from one match to the next
   " and continues back at the top
   set incsearch wrapscan
   :1
@@ -70,39 +70,39 @@
   call assert_equal('  2 these', getline('.'))
   :1
   " second match
-  call feedkeys("/the\<c-n>\<cr>", 'tx')
+  call feedkeys("/the\<C-G>\<cr>", 'tx')
   call assert_equal('  3 the', getline('.'))
   :1
   " third match
-  call feedkeys("/the".repeat("\<c-n>", 2)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 2)."\<cr>", 'tx')
   call assert_equal('  4 their', getline('.'))
   :1
   " fourth match
-  call feedkeys("/the".repeat("\<c-n>", 3)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 3)."\<cr>", 'tx')
   call assert_equal('  5 there', getline('.'))
   :1
   " fifth match
-  call feedkeys("/the".repeat("\<c-n>", 4)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 4)."\<cr>", 'tx')
   call assert_equal('  6 their', getline('.'))
   :1
   " sixth match
-  call feedkeys("/the".repeat("\<c-n>", 5)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 5)."\<cr>", 'tx')
   call assert_equal('  7 the', getline('.'))
   :1
   " seventh match
-  call feedkeys("/the".repeat("\<c-n>", 6)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 6)."\<cr>", 'tx')
   call assert_equal('  8 them', getline('.'))
   :1
   " eigth match
-  call feedkeys("/the".repeat("\<c-n>", 7)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 7)."\<cr>", 'tx')
   call assert_equal('  9 these', getline('.'))
   :1
   " back at first match
-  call feedkeys("/the".repeat("\<c-n>", 8)."\<cr>", 'tx')
+  call feedkeys("/the".repeat("\<C-G>", 8)."\<cr>", 'tx')
   call assert_equal('  2 these', getline('.'))
 
   " Test 4
-  " CTRL-P goes to the previous match
+  " CTRL-T goes to the previous match
   set incsearch nowrapscan
   $
   " first match
@@ -110,23 +110,23 @@
   call assert_equal('  9 these', getline('.'))
   $
   " first match
-  call feedkeys("?the\<c-n>\<cr>", 'tx')
+  call feedkeys("?the\<C-G>\<cr>", 'tx')
   call assert_equal('  9 these', getline('.'))
   $
   " second match
-  call feedkeys("?the".repeat("\<c-p>", 1)."\<cr>", 'tx')
+  call feedkeys("?the".repeat("\<C-T>", 1)."\<cr>", 'tx')
   call assert_equal('  8 them', getline('.'))
   $
   " last match
-  call feedkeys("?the".repeat("\<c-p>", 7)."\<cr>", 'tx')
+  call feedkeys("?the".repeat("\<C-T>", 7)."\<cr>", 'tx')
   call assert_equal('  2 these', getline('.'))
   $
   " last match
-  call feedkeys("?the".repeat("\<c-p>", 8)."\<cr>", 'tx')
+  call feedkeys("?the".repeat("\<C-T>", 8)."\<cr>", 'tx')
   call assert_equal('  2 these', getline('.'))
 
   " Test 5
-  " CTRL-P goes to the previous match
+  " CTRL-T goes to the previous match
   set incsearch wrapscan
   $
   " first match
@@ -134,19 +134,19 @@
   call assert_equal('  9 these', getline('.'))
   $
   " first match at the top
-  call feedkeys("?the\<c-n>\<cr>", 'tx')
+  call feedkeys("?the\<C-G>\<cr>", 'tx')
   call assert_equal('  2 these', getline('.'))
   $
   " second match
-  call feedkeys("?the".repeat("\<c-p>", 1)."\<cr>", 'tx')
+  call feedkeys("?the".repeat("\<C-T>", 1)."\<cr>", 'tx')
   call assert_equal('  8 them', getline('.'))
   $
   " last match
-  call feedkeys("?the".repeat("\<c-p>", 7)."\<cr>", 'tx')
+  call feedkeys("?the".repeat("\<C-T>", 7)."\<cr>", 'tx')
   call assert_equal('  2 these', getline('.'))
   $
   " back at the bottom of the buffer
-  call feedkeys("?the".repeat("\<c-p>", 8)."\<cr>", 'tx')
+  call feedkeys("?the".repeat("\<C-T>", 8)."\<cr>", 'tx')
   call assert_equal('  9 these', getline('.'))
 
   " Test 6
@@ -158,16 +158,16 @@
   call assert_equal('  2 these', getline('.'))
   1
   " go to next match of 'thes'
-  call feedkeys("/the\<c-l>\<c-n>\<cr>", 'tx')
+  call feedkeys("/the\<c-l>\<C-G>\<cr>", 'tx')
   call assert_equal('  9 these', getline('.'))
   1
   " wrap around
-  call feedkeys("/the\<c-l>\<c-n>\<c-n>\<cr>", 'tx')
+  call feedkeys("/the\<c-l>\<C-G>\<C-G>\<cr>", 'tx')
   call assert_equal('  2 these', getline('.'))
   1
   " wrap around
   set nowrapscan
-  call feedkeys("/the\<c-l>\<c-n>\<c-n>\<cr>", 'tx')
+  call feedkeys("/the\<c-l>\<C-G>\<C-G>\<cr>", 'tx')
   call assert_equal('  9 these', getline('.'))
 
   " Test 7
@@ -183,7 +183,7 @@
   call assert_equal('  9 these', getline('.'))
   1
   " delete one char, add another,  go to previous match, add one char
-  call feedkeys("/thei\<bs>s\<bs>\<c-p>\<c-l>\<cr>", 'tx')
+  call feedkeys("/thei\<bs>s\<bs>\<C-T>\<c-l>\<cr>", 'tx')
   call assert_equal('  8 them', getline('.'))
   1
   " delete all chars, start from the beginning again
@@ -205,7 +205,7 @@
   new
   call setline(1, ['  1', '  2 these', '  3 the theother'])
   " Test 1
-  " Ctrl-P goes correctly back and forth
+  " Ctrl-T goes correctly back and forth
   set incsearch
   1
   " first match
@@ -213,27 +213,27 @@
   call assert_equal('  2 these', getline('.'))
   1
   " go to next match (on next line)
-  call feedkeys("/the\<c-n>\<cr>", 'tx')
+  call feedkeys("/the\<C-G>\<cr>", 'tx')
   call assert_equal('  3 the theother', getline('.'))
   1
   " go to next match (still on line 3)
-  call feedkeys("/the\<c-n>\<c-n>\<cr>", 'tx')
+  call feedkeys("/the\<C-G>\<C-G>\<cr>", 'tx')
   call assert_equal('  3 the theother', getline('.'))
   1
   " go to next match (still on line 3)
-  call feedkeys("/the\<c-n>\<c-n>\<c-n>\<cr>", 'tx')
+  call feedkeys("/the\<C-G>\<C-G>\<C-G>\<cr>", 'tx')
   call assert_equal('  3 the theother', getline('.'))
   1
   " go to previous match (on line 3)
-  call feedkeys("/the\<c-n>\<c-n>\<c-n>\<c-p>\<cr>", 'tx')
+  call feedkeys("/the\<C-G>\<C-G>\<C-G>\<C-T>\<cr>", 'tx')
   call assert_equal('  3 the theother', getline('.'))
   1
   " go to previous match (on line 3)
-  call feedkeys("/the\<c-n>\<c-n>\<c-n>\<c-p>\<c-p>\<cr>", 'tx')
+  call feedkeys("/the\<C-G>\<C-G>\<C-G>\<C-T>\<C-T>\<cr>", 'tx')
   call assert_equal('  3 the theother', getline('.'))
   1
   " go to previous match (on line 2)
-  call feedkeys("/the\<c-n>\<c-n>\<c-n>\<c-p>\<c-p>\<c-p>\<cr>", 'tx')
+  call feedkeys("/the\<C-G>\<C-G>\<C-G>\<C-T>\<C-T>\<C-T>\<cr>", 'tx')
   call assert_equal('  2 these', getline('.'))
 
   " clean up
diff --git a/src/version.c b/src/version.c
index c64046e..529b255 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2268,
+/**/
     2267,
 /**/
     2266,
