--- execute_cmd.c~ 2005-11-05 11:37:21.000000000 -0800 +++ execute_cmd.c 2006-07-13 09:05:48.000000000 -0700 @@ -3848,7 +3848,7 @@ shell_execve (command, args, env) /* If we get to this point, then start checking out the file. Maybe it is something we can hack ourselves. */ - if (i != ENOEXEC) + if (i != ENOEXEC && i != EBADEXEC) { if ((stat (command, &finfo) == 0) && (S_ISDIR (finfo.st_mode))) internal_error (_("%s: is a directory"), command);