- if (s->mode & SSL_MODE_RELEASE_BUFFERS)
-- ssl3_release_read_buffer(s);
-+ if (s->s3->rbuf.left == 0) /* no read-ahead left? */
-+ ssl3_release_read_buffer(s);
+- if (s->mode & SSL_MODE_RELEASE_BUFFERS)
++ if (s->mode & SSL_MODE_RELEASE_BUFFERS && s->s3->rbuf.left == 0)
+ ssl3_release_read_buffer(s);