diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 64dcd7e..d8adf85 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -7358,7 +7358,8 @@
 {
     char_u	*pdir = NULL;
     int		dir_differs;
-    int		retval = FALSE;
+    char_u	*acmd_fname;
+    char_u	**pp;
 
     if (new_dir == NULL || allbuf_locked())
 	return FALSE;
@@ -7415,38 +7416,32 @@
     {
 	emsg(_(e_command_failed));
 	vim_free(pdir);
+	return FALSE;
     }
+
+    if (scope == CDSCOPE_WINDOW)
+	pp = &curwin->w_prevdir;
+    else if (scope == CDSCOPE_TABPAGE)
+	pp = &curtab->tp_prevdir;
     else
+	pp = &prev_dir;
+    vim_free(*pp);
+    *pp = pdir;
+
+    post_chdir(scope);
+
+    if (dir_differs)
     {
-	char_u  *acmd_fname;
-	char_u	**pp;
-
 	if (scope == CDSCOPE_WINDOW)
-	    pp = &curwin->w_prevdir;
+	    acmd_fname = (char_u *)"window";
 	else if (scope == CDSCOPE_TABPAGE)
-	    pp = &curtab->tp_prevdir;
+	    acmd_fname = (char_u *)"tabpage";
 	else
-	    pp = &prev_dir;
-	vim_free(*pp);
-	*pp = pdir;
-
-	post_chdir(scope);
-
-	if (dir_differs)
-	{
-	    if (scope == CDSCOPE_WINDOW)
-		acmd_fname = (char_u *)"window";
-	    else if (scope == CDSCOPE_TABPAGE)
-		acmd_fname = (char_u *)"tabpage";
-	    else
-		acmd_fname = (char_u *)"global";
-	    apply_autocmds(EVENT_DIRCHANGED, acmd_fname, new_dir, FALSE,
-								curbuf);
-	}
-	retval = TRUE;
+	    acmd_fname = (char_u *)"global";
+	apply_autocmds(EVENT_DIRCHANGED, acmd_fname, new_dir, FALSE,
+							    curbuf);
     }
-
-    return retval;
+    return TRUE;
 }
 
 /*
