disable stdin buffering in load_cert
diff --git a/CHANGES b/CHANGES
index 0325df3..b0e9c15 100644
--- a/CHANGES
+++ b/CHANGES
@@ -3,6 +3,11 @@
 
  Changes between 0.9.6 and 0.9.7  [xx XXX 2000]
 
+  *) Disable stdin buffering in load_cert (apps/apps.c) so that no certs are
+     skipped when using openssl x509 multiple times on a single input file,
+     e.g. "(openssl x509 -out cert1; openssl x509 -out cert2) <certs".
+     [Bodo Moeller]
+
   *) Make ASN1_UTCTIME_set_string() and ASN1_GENERALIZEDTIME_set_string()
      set string type: to handle setting ASN1_TIME structures. Fix ca
      utility to correctly initialize revocation date of CRLs.
diff --git a/apps/apps.c b/apps/apps.c
index ddc4df0..a1397a3 100644
--- a/apps/apps.c
+++ b/apps/apps.c
@@ -476,7 +476,10 @@
 		}
 
 	if (file == NULL)
+		{
+		setvbuf(stdin, NULL, _IONBF, 0);
 		BIO_set_fp(cert,stdin,BIO_NOCLOSE);
+		}
 	else
 		{
 		if (BIO_read_filename(cert,file) <= 0)