diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 924ddcf..c8fb214 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -56,32 +56,6 @@
 		return ((PyFileObject *)f)->f_name;
 }
 
-/* On Unix, fopen will succeed for directories.
-   In Python, there should be no file objects referring to
-   directories, so we need a check.  */
-
-static PyFileObject*
-dircheck(PyFileObject* f)
-{
-#if defined(HAVE_FSTAT) && defined(S_IFDIR) && defined(EISDIR)
-	struct stat buf;
-	if (f->f_fp == NULL)
-		return f;
-	if (fstat(fileno(f->f_fp), &buf) == 0 &&
-	    S_ISDIR(buf.st_mode)) {
-#ifdef HAVE_STRERROR
-		char *msg = strerror(EISDIR);
-#else
-		char *msg = "Is a directory";
-#endif
-		PyObject *exc = PyObject_CallFunction(PyExc_IOError, "(is)", EISDIR, msg);
-		PyErr_SetObject(PyExc_IOError, exc);
-		return NULL;
-	}
-#endif
-	return f;
-}
-
 
 static PyObject *
 fill_file_fields(PyFileObject *f, FILE *fp, char *name, char *mode,
@@ -103,7 +77,6 @@
 	if (f->f_name == NULL || f->f_mode == NULL)
 		return NULL;
 	f->f_fp = fp;
-        f = dircheck(f);
 	return (PyObject *) f;
 }
 
@@ -157,7 +130,6 @@
 			PyErr_SetFromErrnoWithFilename(PyExc_IOError, name);
 		f = NULL;
 	}
-        f = dircheck(f);
 	return (PyObject *)f;
 }
 
