diff --git a/src/misc1.c b/src/misc1.c
index 66569d4..fd63ec3 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -10013,7 +10013,7 @@
 	if (p[0] == '*' && p[1] == '*')
 	    starstar = TRUE;
 
-    starts_with_dot = *s == '.' || (flags & EW_DODOT);
+    starts_with_dot = *s == '.';
     pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
     if (pat == NULL)
     {
@@ -10096,8 +10096,9 @@
 #endif
 	/* Ignore entries starting with a dot, unless when asked for.  Accept
 	 * all entries found with "matchname". */
-	if ((p[0] != '.' || (starts_with_dot
-			&& p[1] != NUL && (p[1] != '.' || p[2] != NUL)))
+	if ((p[0] != '.' || starts_with_dot
+			 || ((flags & EW_DODOT)
+			     && p[1] != NUL && (p[1] != '.' || p[2] != NUL)))
 		&& (matchname == NULL
 		  || (regmatch.regprog != NULL
 				     && vim_regexec(&regmatch, p, (colnr_T)0))
@@ -10326,7 +10327,7 @@
 	    starstar = TRUE;
 
     /* convert the file pattern to a regexp pattern */
-    starts_with_dot = *s == '.' || (flags & EW_DODOT);
+    starts_with_dot = *s == '.';
     pat = file_pat_to_reg_pat(s, e, NULL, FALSE);
     if (pat == NULL)
     {
@@ -10375,9 +10376,10 @@
 	    dp = readdir(dirp);
 	    if (dp == NULL)
 		break;
-	    if ((dp->d_name[0] != '.' || (starts_with_dot
-			&& dp->d_name[1] != NUL
-			&& (dp->d_name[1] != '.' || dp->d_name[2] != NUL)))
+	    if ((dp->d_name[0] != '.' || starts_with_dot
+			|| ((flags & EW_DODOT)
+			    && 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 50a6827..ee4ec0e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1117,
+/**/
     1116,
 /**/
     1115,
