diff --git a/src/fileio.c b/src/fileio.c
index f809eb5..fdaad20 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7313,7 +7313,7 @@
 	if (exp == NULL)
 	    return -1;
 	if (gen_expand_wildcards(1, &exp, &file_count, &files,
-					      EW_DIR|EW_FILE|EW_SILENT) == OK)
+			 EW_DIR|EW_FILE|EW_SILENT|EW_ALLLINKS|EW_DODOT) == OK)
 	{
 	    for (i = 0; i < file_count; ++i)
 		if (delete_recursive(files[i]) != 0)
diff --git a/src/misc1.c b/src/misc1.c
index 4f36fd8..66569d4 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -10013,7 +10013,7 @@
 	if (p[0] == '*' && p[1] == '*')
 	    starstar = TRUE;
 
-    starts_with_dot = (*s == '.');
+    starts_with_dot = *s == '.' || (flags & EW_DODOT);
     pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
     if (pat == NULL)
     {
@@ -10096,7 +10096,8 @@
 #endif
 	/* Ignore entries starting with a dot, unless when asked for.  Accept
 	 * all entries found with "matchname". */
-	if ((p[0] != '.' || starts_with_dot)
+	if ((p[0] != '.' || (starts_with_dot
+			&& p[1] != NUL && (p[1] != '.' || p[2] != NUL)))
 		&& (matchname == NULL
 		  || (regmatch.regprog != NULL
 				     && vim_regexec(&regmatch, p, (colnr_T)0))
@@ -10325,7 +10326,7 @@
 	    starstar = TRUE;
 
     /* convert the file pattern to a regexp pattern */
-    starts_with_dot = (*s == '.');
+    starts_with_dot = *s == '.' || (flags & EW_DODOT);
     pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
     if (pat == NULL)
     {
@@ -10374,7 +10375,9 @@
 	    dp = readdir(dirp);
 	    if (dp == NULL)
 		break;
-	    if ((dp->d_name[0] != '.' || starts_with_dot)
+	    if ((dp->d_name[0] != '.' || (starts_with_dot
+			&& dp->d_name[1] != NUL
+			&& (dp->d_name[1] != '.' || dp->d_name[2] != NUL)))
 		 && ((regmatch.regprog != NULL && vim_regexec(&regmatch,
 					     (char_u *)dp->d_name, (colnr_T)0))
 		   || ((flags & EW_NOTWILD)
diff --git a/src/version.c b/src/version.c
index 4e23c61..50a6827 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1116,
+/**/
     1115,
 /**/
     1114,
diff --git a/src/vim.h b/src/vim.h
index a8a6ead..a39c6fd 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -835,6 +835,7 @@
 #define EW_ALLLINKS	0x1000	/* also links not pointing to existing file */
 #define EW_SHELLCMD	0x2000	/* called from expand_shellcmd(), don't check
 				 * if executable is in $PATH */
+#define EW_DODOT	0x4000	/* also files starting with a dot */
 
 /* Flags for find_file_*() functions. */
 #define FINDFILE_FILE	0	/* only files */
