diff -urNp john-1.7.3.1.org/src/path.c john-1.7.3.1/src/path.c
--- john-1.7.3.1.org/src/path.c	2003-10-01 04:26:25.000000000 +0300
+++ john-1.7.3.1/src/path.c	2007-11-10 15:53:23.000000000 +0200
@@ -55,7 +55,7 @@ void path_init(char **argv)
 #ifdef JOHN_PRIVATE_HOME
 	private = path_expand(JOHN_PRIVATE_HOME);
 	if (mkdir(private, S_IRUSR | S_IWUSR | S_IXUSR)) {
-		if (errno != EEXIST) pexit("mkdir: %s", private);
+		if (errno != EEXIST && errno != EACCES) pexit("mkdir: %s", private);
 	} else
 		fprintf(stderr, "Created directory: %s\n", private);
 #endif
