--- bfd/opncls.c.orig	2007-05-11 17:23:19.000000000 +0200
+++ bfd/opncls.c	2007-07-29 05:21:47.000000000 +0200
@@ -182,6 +182,13 @@
 {
   bfd *nbfd;
   const bfd_target *target_vec;
+  struct stat s;
+
+  if (stat (filename, &s) == 0)
+    if (S_ISDIR(s.st_mode)) {
+      bfd_set_error (bfd_error_file_not_recognized);
+      return NULL;
+    }
 
   nbfd = _bfd_new_bfd ();
   if (nbfd == NULL)
