diff --git a/servers/slapd/back-bdb/idl.c b/servers/slapd/back-bdb/idl.c index 107c984192..8695552fd3 100644 --- a/servers/slapd/back-bdb/idl.c +++ b/servers/slapd/back-bdb/idl.c @@ -1377,7 +1377,12 @@ int bdb_idl_append( ID *a, ID *b ) tmp = a[1]; a[1] = b[1]; } else { - tmp = b[1]; + if (b[1] < ida) { + tmp = a[a[0]]; + a[a[0]] = b[1]; + } else { + tmp = b[1]; + } } a[0]++; a[a[0]] = tmp;