diff --git a/libraries/liblber/io.c b/libraries/liblber/io.c
index 4815bbcd1aa0390309041d0d23c70c452a069a7a..ecab5860ae3cffbbf558fc92e9c31fec3e5cec7a 100644
--- a/libraries/liblber/io.c
+++ b/libraries/liblber/io.c
@@ -227,7 +227,12 @@ ber_flush( Sockbuf *sb, BerElement *ber, int freeit )
 	}
 
 	while ( towrite > 0 ) {
+#ifdef LBER_TRICKLE
+		sleep(1);
+		rc = ber_int_sb_write( sb, ber->ber_rwptr, 1 );
+#else
 		rc = ber_int_sb_write( sb, ber->ber_rwptr, towrite );
+#endif
 		if (rc<=0) {
 			return -1;
 		}