diff --git a/servers/slapd/back-mdb/tools.c b/servers/slapd/back-mdb/tools.c
index b444e3a53f8e1c0dae9ca8adb23fc39e4c18af3f..6aae331484f76c33499849bf2ebf493667d09300 100644
--- a/servers/slapd/back-mdb/tools.c
+++ b/servers/slapd/back-mdb/tools.c
@@ -231,6 +231,9 @@ next:;
 	previd = *(ID *)key.mv_data;
 	id = previd;
 
+	if ( !data.mv_size )
+		goto next;
+
 	if ( tool_filter || tool_base ) {
 		static Operation op = {0};
 		static Opheader ohdr = {0};
@@ -326,6 +329,10 @@ mdb_tool_entry_get_int( BackendDB *be, ID id, Entry **ep )
 			goto done;
 		}
 	}
+	if ( !data.mv_size ) {
+		rc = LDAP_NO_SUCH_OBJECT;
+		goto done;
+	}
 
 	op.o_hdr = &ohdr;
 	op.o_bd = be;