diff --git a/src/insexpand.c b/src/insexpand.c
index 02f593d..66507f0 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -2218,9 +2218,10 @@
     pos = curwin->w_cursor;
     curwin_save = curwin;
     curbuf_save = curbuf;
-    // Lock the text to avoid weird things from happening.  Do allow switching
-    // to another window temporarily.
-    ++textlock;
+    // Lock the text to avoid weird things from happening.  Also disallow
+    // switching to another window, it should not be needed and may end up in
+    // Insert mode in another buffer.
+    ++textwinlock;
 
     // Call a function, which returns a list or dict.
     if (call_vim_function(funcname, 2, args, &rettv) == OK)
@@ -2243,7 +2244,7 @@
 		break;
 	}
     }
-    --textlock;
+    --textwinlock;
 
     if (curwin_save != curwin || curbuf_save != curbuf)
     {
@@ -3226,7 +3227,7 @@
 	return -1;
 
     if (compl_leader != NULL
-			&& (compl_shown_match->cp_flags & CP_ORIGINAL_TEXT) == 0)
+		      && (compl_shown_match->cp_flags & CP_ORIGINAL_TEXT) == 0)
     {
 	// Set "compl_shown_match" to the actually shown match, it may differ
 	// when "compl_leader" is used to omit some of the matches.
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index 5aa2664..489c1d9 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -562,31 +562,24 @@
   call setline(1, ['', 'abcd', ''])
   call assert_fails('exe "normal 2G$a\<C-X>\<C-U>"', 'E578:')
 
-  set completefunc&
-  delfunc CompleteFunc
-  delfunc CompleteFunc2
-  close!
-endfunc
-
-func Test_completefunc_error_not_asan()
-  " The following test causes an ASAN failure.
-  CheckNotAsan
-
   " Jump to a different window from the complete function
-  func! CompleteFunc(findstart, base)
+  func CompleteFunc3(findstart, base)
     if a:findstart == 1
       return col('.') - 1
     endif
     wincmd p
     return ['a', 'b']
   endfunc
-  set completefunc=CompleteFunc
+  set completefunc=CompleteFunc3
   new
-  call assert_fails('exe "normal a\<C-X>\<C-U>"', 'E839:')
+  call assert_fails('exe "normal a\<C-X>\<C-U>"', 'E565:')
   close!
 
   set completefunc&
   delfunc CompleteFunc
+  delfunc CompleteFunc2
+  delfunc CompleteFunc3
+  close!
 endfunc
 
 " Test for returning non-string values from 'completefunc'
diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim
index 9175ff1..2d0625b 100644
--- a/src/testdir/test_popup.vim
+++ b/src/testdir/test_popup.vim
@@ -342,7 +342,7 @@
   setlocal completefunc=DummyCompleteOne
   call setline(1, 'one')
   /^one
-  call assert_fails('call feedkeys("A\<C-X>\<C-U>\<C-N>\<Esc>", "x")', 'E578:')
+  call assert_fails('call feedkeys("A\<C-X>\<C-U>\<C-N>\<Esc>", "x")', 'E565:')
   call assert_equal(winid, win_getid())
   call assert_equal('onedef', getline(1))
   q!
@@ -642,8 +642,8 @@
   set completefunc=MessComplete
   new
   call setline(1, 'Ju')
-  call feedkeys("A\<c-x>\<c-u>/\<esc>", 'tx')
-  call assert_equal('Oct/Oct', getline(1))
+  call assert_fails('call feedkeys("A\<c-x>\<c-u>/\<esc>", "tx")', 'E578:')
+  call assert_equal('Jan/', getline(1))
   bwipe!
   set completefunc=
 endfunc
diff --git a/src/version.c b/src/version.c
index 2e0da2b..ed17716 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2426,
+/**/
     2425,
 /**/
     2424,
