diff --git a/doc/man/man1/ldapsearch.1 b/doc/man/man1/ldapsearch.1
index 84facf394d1bf1a5c5f6275d6ffe0aa19c6e8ac3..f1b5d43a55e32473cca95cbdb86ced02f861bdfe 100644
--- a/doc/man/man1/ldapsearch.1
+++ b/doc/man/man1/ldapsearch.1
@@ -164,7 +164,7 @@ base object for the search.  The default is to never dereference aliases.
 wait at most \fItimelimit\fP seconds for a search to complete.
 .TP
 .B \-z sizelimit
-retrieve at most \fIsizelimit\fP seconds for a search to complete.
+retrieve at most \fIsizelimit\fP entries for a search.
 .SH OUTPUT FORMAT
 If one or more entries are found, each entry is written to standard output
 in the form:
diff --git a/include/lber.h b/include/lber.h
index 45e9681cca38afaa6b7395ad8dcab64386ef4c1d..e2745a1679eda83616f175400b0ab9b34f406a4a 100644
--- a/include/lber.h
+++ b/include/lber.h
@@ -97,7 +97,9 @@ extern int lber_debug;
 /*
  * in bprint.c:
  */
-LDAP_F void lber_bprint LDAP_P(( char *data, int len ));
+LDAP_F void ber_print_error LDAP_P(( char *data ));
+LDAP_F void ber_bprint LDAP_P(( char *data, int len ));
+#define lber_bprint(d,l)	ber_bprint((d),(l))
 
 /*
  * in decode.c:
diff --git a/libraries/liblber/bprint.c b/libraries/liblber/bprint.c
index 93f759fbdf0b227f7da9d22f5a22c07c94a866ea..0b380e62cae83fb09ef9edad9e4a447cbc4554dd 100644
--- a/libraries/liblber/bprint.c
+++ b/libraries/liblber/bprint.c
@@ -1,9 +1,9 @@
 
 #include "portable.h"
 
-#if defined( LDAP_DEBUG ) && defined( LDAP_LIBUI )
 #include <stdio.h>
 
+#if defined( LDAP_DEBUG ) && defined( LDAP_LIBUI )
 #include <ac/ctype.h>
 #include <ac/string.h>
 #endif /* LDAP_DEBUG && LDAP_LIBUI  */
@@ -11,12 +11,21 @@
 #include "lber-int.h"
 
 /*
- * Print arbitrary stuff, for debugging.
+ * Print stuff
  */
+void
+ber_print_error( char *data)
+{
+	fputs( data, stderr );
+	fflush( stderr );
+}
 
+/*
+ * Print arbitrary stuff, for debugging.
+ */
 
 void
-lber_bprint( char *data, int len )
+ber_bprint( char *data, int len )
 {
 #if defined( LDAP_DEBUG ) && defined( LDAP_LIBUI )
 #define BPLEN	48
@@ -48,7 +57,9 @@ lber_bprint( char *data, int len )
 	data++;
 
 	if ( i > BPLEN - 2 ) {
-	    fprintf( stderr, "\t%s\n", out );
+		char data[128 + BPLEN];
+	    sprintf( data, "\t%s\n", out );
+		ber_print_error(data);
 	    memset( out, 0, BPLEN );
 	    i = 0;
 	    continue;