diff --git a/servers/slapd/back-bdb/index.c b/servers/slapd/back-bdb/index.c
index e77ac397f179d43d9104089982f500ea00e6770c..e5d494f0f1386cb56fba1ca17ea5864ccd66ed79 100644
--- a/servers/slapd/back-bdb/index.c
+++ b/servers/slapd/back-bdb/index.c
@@ -452,7 +452,7 @@ int bdb_index_recrun(
 	if ( id == 0 )
 		return 0;
 
-	for (i=base; i<bdb->bi_nattrs; i+=slap_tool_thread_max) {
+	for (i=base; i<bdb->bi_nattrs; i+=slap_tool_thread_max-1) {
 		ir = ir0 + i;
 		if ( !ir->ai ) continue;
 		while (( al = ir->attrs )) {