diff --git a/libraries/liblber/io.c b/libraries/liblber/io.c
index 503735819f42a5c7737c3c69f561465b8bb8e2ae..6e929110f5c08e6c444980d0e8db0750035deede 100644
--- a/libraries/liblber/io.c
+++ b/libraries/liblber/io.c
@@ -47,6 +47,25 @@
 #include "lber-int.h"
 #include "ldap_log.h"
 
+ber_slen_t
+ber_skip_data(
+	BerElement *ber,
+	ber_len_t len )
+{
+	ber_len_t	actuallen, nleft;
+
+	assert( ber != NULL );
+
+	assert( LBER_VALID( ber ) );
+
+	nleft = ber_pvt_ber_remaining( ber );
+	actuallen = nleft < len ? nleft : len;
+	ber->ber_ptr += actuallen;
+	ber->ber_tag = *(unsigned char *)ber->ber_ptr;
+
+	return( (ber_slen_t) actuallen );
+}
+
 ber_slen_t
 ber_read(
 	BerElement *ber,