diff --git a/stand/libsa/read.c b/stand/libsa/read.c index 5a96e2b35642..021425371ee7 100644 --- a/stand/libsa/read.c +++ b/stand/libsa/read.c @@ -108,7 +108,7 @@ read(int fd, void *dest, size_t bcount) } /* will filling the readahead buffer again not help? */ - if (resid >= SOPEN_RASIZE) { + if (f->f_rabuf == NULL || resid >= SOPEN_RASIZE) { /* * bypass the rest of the request and leave the * buffer empty