--- src/filehandling_functions.c.orig 2010-09-19 17:20:39.000000000 +0400 +++ src/filehandling_functions.c 2012-08-06 14:52:03.000000000 +0400 @@ -200,7 +202,7 @@ } /* if we haven't found anything, clean up and exit */ - if (!goodHit) + if ( id && !goodHit ) { fclose(id); id = 0; @@ -742,7 +744,7 @@ int i, j; char *tmpfilename; - if (strncmp(filename, "dir", 3) == 0) + if (strncmp(filename, "dir", 3) == 0 && !isalnum(filename[3])) { xfree(buf); return opendirfile(number);