diff --git a/src/cmdexpand.c b/src/cmdexpand.c
index 406135c..3862d69 100644
--- a/src/cmdexpand.c
+++ b/src/cmdexpand.c
@@ -50,6 +50,7 @@
 	    && xp->xp_context != EXPAND_FILES
 	    && xp->xp_context != EXPAND_FILES_IN_PATH
 	    && xp->xp_context != EXPAND_FILETYPE
+	    && xp->xp_context != EXPAND_FINDEXPR
 	    && xp->xp_context != EXPAND_HELP
 	    && xp->xp_context != EXPAND_KEYMAP
 	    && xp->xp_context != EXPAND_OLD_SETTING
@@ -1418,7 +1419,8 @@
 
 	// For help tags the translation is done in find_help_tags().
 	// For a tag pattern starting with "/" no translation is needed.
-	if (context == EXPAND_HELP
+	if (context == EXPAND_FINDEXPR
+		|| context == EXPAND_HELP
 		|| context == EXPAND_COLORS
 		|| context == EXPAND_COMPILER
 		|| context == EXPAND_OWNSYNTAX
@@ -2138,7 +2140,8 @@
 	case CMD_sfind:
 	case CMD_tabfind:
 	    if (xp->xp_context == EXPAND_FILES)
-		xp->xp_context = EXPAND_FILES_IN_PATH;
+		xp->xp_context = *get_findexpr() != NUL ? EXPAND_FINDEXPR
+							: EXPAND_FILES_IN_PATH;
 	    break;
 	case CMD_cd:
 	case CMD_chdir:
@@ -2850,7 +2853,7 @@
 	    }
     }
 
-    if (xp->xp_context == EXPAND_FILES_IN_PATH && *get_findexpr() != NUL)
+    if (xp->xp_context == EXPAND_FINDEXPR)
     {
 #ifdef FEAT_EVAL
 	ret = expand_findexpr(pat, matches, numMatches);
@@ -3119,6 +3122,7 @@
     if (xp->xp_context == EXPAND_FILES
 	    || xp->xp_context == EXPAND_DIRECTORIES
 	    || xp->xp_context == EXPAND_FILES_IN_PATH
+	    || xp->xp_context == EXPAND_FINDEXPR
 	    || xp->xp_context == EXPAND_DIRS_IN_CDPATH)
 	return expand_files_and_dirs(xp, pat, matches, numMatches, flags,
 								options);
diff --git a/src/errors.h b/src/errors.h
index 2299f2c..6c172e0 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -3653,4 +3653,4 @@
 EXTERN char e_winfixbuf_cannot_go_to_buffer[]
 	INIT(= N_("E1513: Cannot switch buffer. 'winfixbuf' is enabled"));
 EXTERN char e_invalid_return_type_from_findexpr[]
-	INIT(= N_("E1514: findexpr did not return a List type"));
+	INIT(= N_("E1514: 'findexpr' did not return a List type"));
diff --git a/src/evalvars.c b/src/evalvars.c
index f18b516..9f03ada 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -161,6 +161,7 @@
     {VV_NAME("t_typealias",	 VAR_NUMBER), NULL, VV_RO},
     {VV_NAME("t_enum",		 VAR_NUMBER), NULL, VV_RO},
     {VV_NAME("t_enumvalue",	 VAR_NUMBER), NULL, VV_RO},
+    {VV_NAME("cmdcomplete",	 VAR_BOOL), NULL, VV_RO},
 };
 
 // shorthand
@@ -234,6 +235,7 @@
     set_vim_var_nr(VV_SEARCHFORWARD, 1L);
     set_vim_var_nr(VV_HLSEARCH, 1L);
     set_vim_var_nr(VV_EXITING, VVAL_NULL);
+    set_vim_var_nr(VV_CMDCOMPLETE, VVAL_FALSE);
     set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc_lock(VAR_FIXED));
     set_vim_var_list(VV_ERRORS, list_alloc());
     set_vim_var_dict(VV_EVENT, dict_alloc_lock(VAR_FIXED));
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index fa370fe..807b470 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -6929,7 +6929,7 @@
  * the expression, v:fname is set to the ":find" command argument.
  */
     static list_T *
-eval_findexpr(char_u *ptr)
+eval_findexpr(char_u *pat, int cmdcomplete)
 {
     sctx_T	saved_sctx = current_sctx;
     char_u	*findexpr;
@@ -6939,7 +6939,8 @@
 
     findexpr = get_findexpr();
 
-    set_vim_var_string(VV_FNAME, ptr, -1);
+    set_vim_var_string(VV_FNAME, pat, -1);
+    set_vim_var_nr(VV_CMDCOMPLETE, cmdcomplete ? VVAL_TRUE : VVAL_FALSE);
     current_sctx = curbuf->b_p_script_ctx[BV_FEXPR];
 
     arg = skipwhite(findexpr);
@@ -6962,6 +6963,7 @@
     clear_evalarg(&EVALARG_EVALUATE, NULL);
 
     set_vim_var_string(VV_FNAME, NULL, 0);
+    set_vim_var_nr(VV_CMDCOMPLETE, VVAL_FALSE);
     current_sctx = saved_sctx;
 
     return retlist;
@@ -6977,21 +6979,11 @@
 {
     list_T	*l;
     int		len;
-    char_u	*regpat;
 
     *numMatches = 0;
     *files = NULL;
 
-    // File name expansion uses wildchars.  But the 'findexpr' expression
-    // expects a regular expression argument.  So convert wildchars in the
-    // argument to regular expression patterns.
-    regpat = file_pat_to_reg_pat(pat, NULL, NULL, FALSE);
-    if (regpat == NULL)
-	return FAIL;
-
-    l = eval_findexpr(regpat);
-
-    vim_free(regpat);
+    l = eval_findexpr(pat, TRUE);
 
     if (l == NULL)
 	return FAIL;
@@ -7037,7 +7029,7 @@
     cc = findarg[findarg_len];
     findarg[findarg_len] = NUL;
 
-    fname_list = eval_findexpr(findarg);
+    fname_list = eval_findexpr(findarg, FALSE);
     fname_count = list_len(fname_list);
 
     if (fname_count == 0)
diff --git a/src/testdir/test_findfile.vim b/src/testdir/test_findfile.vim
index 3a1066b..25cd9da 100644
--- a/src/testdir/test_findfile.vim
+++ b/src/testdir/test_findfile.vim
@@ -374,7 +374,7 @@
 
   " Expression returning a string
   set findexpr='abc'
-  call assert_fails('find Xfindexpr1.c', 'E1514: findexpr did not return a List type')
+  call assert_fails('find Xfindexpr1.c', "E1514: 'findexpr' did not return a List type")
 
   set findexpr&
   delfunc! FindExpr1
@@ -454,29 +454,52 @@
 
 " Test for expanding the argument to the :find command using 'findexpr'
 func Test_findexpr_expand_arg()
-  func FindExpr1()
-    let fnames = ['Xfindexpr1.c', 'Xfindexpr2.c', 'Xfindexpr3.c']
-    return fnames->copy()->filter('v:val =~? v:fname')
+  let s:fnames = ['Xfindexpr1.c', 'Xfindexpr2.c', 'Xfindexpr3.c']
+
+  " 'findexpr' that accepts a regular expression
+  func FindExprRegexp()
+    return s:fnames->copy()->filter('v:val =~? v:fname')
   endfunc
-  set findexpr=FindExpr1()
 
-  call feedkeys(":find \<Tab>\<C-B>\"\<CR>", "xt")
-  call assert_equal('"find Xfindexpr1.c', @:)
+  " 'findexpr' that accepts a glob
+  func FindExprGlob()
+    let pat = glob2regpat(v:cmdcomplete ? $'*{v:fname}*' : v:fname)
+    return s:fnames->copy()->filter('v:val =~? pat')
+  endfunc
 
-  call feedkeys(":find Xfind\<Tab>\<Tab>\<C-B>\"\<CR>", "xt")
-  call assert_equal('"find Xfindexpr2.c', @:)
+  for regexp in [v:true, v:false]
+    let &findexpr = regexp ? 'FindExprRegexp()' : 'FindExprGlob()'
 
-  call feedkeys(":find *3*\<Tab>\<C-B>\"\<CR>", "xt")
-  call assert_equal('"find Xfindexpr3.c', @:)
+    call feedkeys(":find \<Tab>\<C-B>\"\<CR>", "xt")
+    call assert_equal('"find Xfindexpr1.c', @:)
 
-  call feedkeys(":find Xfind\<C-A>\<C-B>\"\<CR>", "xt")
-  call assert_equal('"find Xfindexpr1.c Xfindexpr2.c Xfindexpr3.c', @:)
+    call feedkeys(":find Xfind\<Tab>\<Tab>\<C-B>\"\<CR>", "xt")
+    call assert_equal('"find Xfindexpr2.c', @:)
 
-  call feedkeys(":find abc\<Tab>\<C-B>\"\<CR>", "xt")
-  call assert_equal('"find abc', @:)
+    call assert_equal(s:fnames, getcompletion('find ', 'cmdline'))
+    call assert_equal(s:fnames, getcompletion('find Xfind', 'cmdline'))
+
+    let pat = regexp ? 'X.*1\.c' : 'X*1.c'
+    call feedkeys($":find {pat}\<Tab>\<C-B>\"\<CR>", "xt")
+    call assert_equal('"find Xfindexpr1.c', @:)
+    call assert_equal(['Xfindexpr1.c'], getcompletion($'find {pat}', 'cmdline'))
+
+    call feedkeys(":find 3\<Tab>\<C-B>\"\<CR>", "xt")
+    call assert_equal('"find Xfindexpr3.c', @:)
+    call assert_equal(['Xfindexpr3.c'], getcompletion($'find 3', 'cmdline'))
+
+    call feedkeys(":find Xfind\<C-A>\<C-B>\"\<CR>", "xt")
+    call assert_equal('"find Xfindexpr1.c Xfindexpr2.c Xfindexpr3.c', @:)
+
+    call feedkeys(":find abc\<Tab>\<C-B>\"\<CR>", "xt")
+    call assert_equal('"find abc', @:)
+    call assert_equal([], getcompletion('find abc', 'cmdline'))
+  endfor
 
   set findexpr&
-  delfunc! FindExpr1
+  delfunc! FindExprRegexp
+  delfunc! FindExprGlob
+  unlet s:fnames
 endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index e042965..6abc802 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    821,
+/**/
     820,
 /**/
     819,
diff --git a/src/vim.h b/src/vim.h
index 74e6b95..f4acaf9 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -845,6 +845,7 @@
 #define EXPAND_KEYMAP		58
 #define EXPAND_DIRS_IN_CDPATH	59
 #define EXPAND_SHELLCMDLINE	60
+#define EXPAND_FINDEXPR		61
 
 
 // Values for exmode_active (0 is no exmode)
@@ -2188,7 +2189,8 @@
 #define VV_TYPE_TYPEALIAS 107
 #define VV_TYPE_ENUM	  108
 #define VV_TYPE_ENUMVALUE 109
-#define VV_LEN		110	// number of v: vars
+#define VV_CMDCOMPLETE	110
+#define VV_LEN		111	// number of v: vars
 
 // used for v_number in VAR_BOOL and VAR_SPECIAL
 #define VVAL_FALSE	0L	// VAR_BOOL
