diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c
index f147588b48da83e187e72fee053903e1599a3c05..4fe330b1d1e0ece3b0ef75f143fde95611d00e64 100644
--- a/libraries/liblmdb/mdb.c
+++ b/libraries/liblmdb/mdb.c
@@ -2127,7 +2127,7 @@ mdb_txn_commit(MDB_txn *txn)
 	if (env->me_pghead) {
 		/* make sure first page of freeDB is touched and on freelist */
 		rc = mdb_page_search(&mc, NULL, MDB_PS_MODIFY);
-		if (rc) {
+		if (rc && rc != MDB_NOTFOUND) {
 fail:
 			mdb_txn_abort(txn);
 			return rc;
@@ -2163,7 +2163,7 @@ free2:
 		key.mv_size = MAXKEYSIZE+1;
 		key.mv_data = NULL;
 		rc = mdb_page_search(&mc, &key, MDB_PS_MODIFY);
-		if (rc)
+		if (rc && rc != MDB_NOTFOUND)
 			goto fail;
 
 #if MDB_DEBUG > 1