diff --git a/src/fdlib.c b/src/fdlib.c
index 3057f5266c69238fdb8667faf66112b5cbe43353..8952566805b2991dbeb18f2d2222ae7a7934c518 100644
--- a/src/fdlib.c
+++ b/src/fdlib.c
@@ -65,6 +65,9 @@ PMOD_EXPORT void set_errno_from_win32_error (unsigned long err)
       case ERROR_INVALID_HANDLE: /* 124 */
       case ERROR_NEGATIVE_SEEK:	/* 131 */
 	return;
+      case ERROR_DIRECTORY: /* 267 */
+	errno = ENOTDIR; /* [Bug 7271] */
+	return;
     }
 
     /* FIXME: This lets most winsock codes through as-is, e.g.