diff --git a/src/insexpand.c b/src/insexpand.c
index d424fff..63bf070 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -5198,6 +5198,7 @@
     if (line_invalid)
 	line = ml_get(curwin->w_cursor.lnum);
 
+    int in_fuzzy = get_cot_flags() & COT_FUZZY;
     if (compl_status_adding())
     {
 	edit_submode_pre = (char_u *)_(" Adding");
@@ -5214,6 +5215,11 @@
 	    compl_length = 0;
 	    compl_col = curwin->w_cursor.col;
 	}
+	else if (ctrl_x_mode_normal() && in_fuzzy)
+	{
+	    compl_startpos = curwin->w_cursor;
+	    compl_cont_status &= CONT_S_IPOS;
+	}
     }
     else
     {
diff --git a/src/search.c b/src/search.c
index a7fd44e..661bcc7 100644
--- a/src/search.c
+++ b/src/search.c
@@ -5219,6 +5219,8 @@
     pos_T	circly_end;
     int		found_new_match = FALSE;
     int		looped_around = FALSE;
+    char_u	*next_word_end = NULL;
+    char_u	*match_word = NULL;
 
     if (whole_line)
 	current_pos.lnum += dir;
@@ -5254,6 +5256,35 @@
 		    found_new_match = fuzzy_match_str_in_line(ptr, pattern, len, &current_pos);
 		    if (found_new_match)
 		    {
+			if (ctrl_x_mode_normal())
+			{
+			    match_word = vim_strnsave(*ptr, *len);
+			    if (STRCMP(match_word, pattern) == 0)
+			    {
+				next_word_end = find_word_start(*ptr + *len);
+				if (*next_word_end != NUL && *next_word_end != NL)
+				{
+				    // Find end of the word.
+				    if (has_mbyte)
+					while (*next_word_end != NUL)
+					{
+					    int l = (*mb_ptr2len)(next_word_end);
+
+					    if (l < 2 && !vim_iswordc(*next_word_end))
+						break;
+					    next_word_end += l;
+					}
+				    else
+				       next_word_end = find_word_end(next_word_end);
+				}
+				else if (looped_around)
+				    found_new_match = FALSE;
+
+				*len = next_word_end - *ptr;
+				current_pos.col = *len;
+			    }
+			    vim_free(match_word);
+			}
 			*pos = current_pos;
 			break;
 		    }
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index aee3393..df25484 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -2654,10 +2654,38 @@
   call feedkeys("Su\<C-X>\<C-L>\<C-P>\<Esc>0", 'tx!')
   call assert_equal('no one can save me but you', getline('.'))
 
+  " issue #15412
+  call setline(1, ['alpha bravio charlie'])
+  call feedkeys("Salpha\<C-X>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('alpha bravio', getline('.'))
+  call feedkeys("Salp\<C-X>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('alpha', getline('.'))
+  call feedkeys("A\<C-X>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('alpha bravio', getline('.'))
+  call feedkeys("A\<C-X>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('alpha bravio charlie', getline('.'))
+
+  set complete-=i
+  call feedkeys("Salp\<C-X>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('alpha', getline('.'))
+  call feedkeys("A\<C-X>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('alpha bravio', getline('.'))
+  call feedkeys("A\<C-X>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('alpha bravio charlie', getline('.'))
+
+  call setline(1, ['alpha bravio charlie', 'alpha another'])
+  call feedkeys("Salpha\<C-X>\<C-N>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('alpha another', getline('.'))
+  call setline(1, ['你好 我好', '你好 他好'])
+  call feedkeys("S你好\<C-X>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('你好 我好', getline('.'))
+  call feedkeys("S你好\<C-X>\<C-N>\<C-N>\<Esc>0", 'tx!')
+  call assert_equal('你好 他好', getline('.'))
+
   " issue #15526
   set completeopt=fuzzy,menuone,menu,noselect
   call setline(1, ['Text', 'ToText', ''])
-  call cursor(2, 1)
+  call cursor(3, 1)
   call feedkeys("STe\<C-X>\<C-N>x\<CR>\<Esc>0", 'tx!')
   call assert_equal('Tex', getline('.'))
 
diff --git a/src/version.c b/src/version.c
index 6138f51..f5bd143 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    733,
+/**/
     732,
 /**/
     731,
