diff --git a/servers/slapd/back-bdb/id2entry.c b/servers/slapd/back-bdb/id2entry.c
index 61e34ae47ff8423cae30d939e3a88e965dd4aedc..79c6f88a23fedc6e15a14004334dbb5f7a9220ae 100644
--- a/servers/slapd/back-bdb/id2entry.c
+++ b/servers/slapd/back-bdb/id2entry.c
@@ -355,7 +355,7 @@ dn2entry_retry:
 	case DB_LOCK_NOTGRANTED:
 		/* the txn must abort and retry */
 		if ( txn ) {
-			boi->boi_err = rc;
+			if ( boi ) boi->boi_err = rc;
 			return LDAP_BUSY;
 		}
 		ldap_pvt_thread_yield();