diff --git a/lib/ssh.c b/lib/ssh.c
index 329d6df..23ba5f4 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -1400,7 +1400,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
     case SSH_SFTP_QUOTE_MKDIR:
       rc = libssh2_sftp_mkdir_ex(sshc->sftp_session, sshc->quote_path1,
                                  (unsigned int)strlen(sshc->quote_path1),
-                                 0755);
+                                 data->set.new_directory_perms);
       if(rc == LIBSSH2_ERROR_EAGAIN) {
         break;
       }

