diff --git a/src/Make_ming.mak b/src/Make_ming.mak
index e6bf381d0230f907e77ac090adc71e36ba56b8e1..b90cf79fb08d236fc57e8d760654ba8e12934bf0 100644
--- a/src/Make_ming.mak
+++ b/src/Make_ming.mak
@@ -223,15 +223,18 @@ ifeq ($(CROSS),yes)
 # cross-compiler:
 CC = i586-pc-mingw32msvc-gcc
 DEL = rm
+MKDIR = mkdir -p
 WINDRES = i586-pc-mingw32msvc-windres
 else
 # normal (Windows) compilation:
 CC = gcc
 ifneq (sh.exe, $(SHELL))
 DEL = rm
+MKDIR = mkdir -p
 DIRSLASH = /
 else
 DEL = del
+MKDIR = mkdir
 DIRSLASH = \\
 endif
 WINDRES = windres
@@ -547,7 +550,7 @@ $(OUTDIR)/vimrc.o: $(OUTDIR)/vimres.res
 	$(WINDRES) $(OUTDIR)/vimres.res $(OUTDIR)/vimrc.o
 
 $(OUTDIR):
-	mkdir -p $(OUTDIR)
+	$(MKDIR) $(OUTDIR)
 
 $(OUTDIR)/ex_docmd.o:	ex_docmd.c $(INCL) ex_cmds.h
 	$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
diff --git a/src/os_unix.c b/src/os_unix.c
index 6186d9264beaff76f3d39ab2acaac390248dbd8e..81fa4240c1e62a60091dee8e12a6800592d98408 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -4939,7 +4939,12 @@ mch_expand_wildcards(num_pat, pat, num_file, file, flags)
 		    *p++ = '"';
 		}
 		else
-		    *p++ = pat[i][j++];
+		{
+		    /* For a backslash also copy the next character, don't
+		     * want to put quotes around it. */
+		    if ((*p++ = pat[i][j++]) == '\\' && pat[i][j] != NUL)
+			*p++ = pat[i][j++];
+		}
 	    *p = NUL;
 #endif
 	}