diff --git a/src/misc1.c b/src/misc1.c
index e76e4a4..550a727 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -2691,13 +2691,15 @@
  * FPC_DIFF   if they both exist and are different files.
  * FPC_NOTX   if they both don't exist.
  * FPC_DIFFX  if one of them doesn't exist.
- * For the first name environment variables are expanded
+ * For the first name environment variables are expanded if "expandenv" is
+ * TRUE.
  */
     int
 fullpathcmp(
     char_u *s1,
     char_u *s2,
-    int	    checkname)		/* when both don't exist, check file names */
+    int	    checkname,		// when both don't exist, check file names
+    int	    expandenv)
 {
 #ifdef UNIX
     char_u	    exp1[MAXPATHL];
@@ -2706,7 +2708,10 @@
     stat_T	    st1, st2;
     int		    r1, r2;
 
-    expand_env(s1, exp1, MAXPATHL);
+    if (expandenv)
+	expand_env(s1, exp1, MAXPATHL);
+    else
+	vim_strncpy(exp1, s1, MAXPATHL - 1);
     r1 = mch_stat((char *)exp1, &st1);
     r2 = mch_stat((char *)s2, &st2);
     if (r1 != 0 && r2 != 0)
@@ -2741,7 +2746,10 @@
 	full1 = exp1 + MAXPATHL;
 	full2 = full1 + MAXPATHL;
 
-	expand_env(s1, exp1, MAXPATHL);
+	if (expandenv)
+	    expand_env(s1, exp1, MAXPATHL);
+	else
+	    vim_strncpy(exp1, s1, MAXPATHL - 1);
 	r1 = vim_FullName(exp1, full1, MAXPATHL, FALSE);
 	r2 = vim_FullName(s2, full2, MAXPATHL, FALSE);
 
@@ -4027,7 +4035,7 @@
 	    /*
 	     * First expand environment variables, "~/" and "~user/".
 	     */
-	    if (has_env_var(p) || *p == '~')
+	    if ((has_env_var(p) && !(flags & EW_NOTENV)) || *p == '~')
 	    {
 		p = expand_env_save_opt(p, TRUE);
 		if (p == NULL)
