diff --git a/libraries/libmdb/mdb.c b/libraries/libmdb/mdb.c
index 4af54aa688740341373af600aff05e36a364e089..f7559b01a8479a29b0e264040c6987c81a2c810c 100644
--- a/libraries/libmdb/mdb.c
+++ b/libraries/libmdb/mdb.c
@@ -6904,7 +6904,7 @@ int mdb_drop(MDB_txn *txn, MDB_dbi dbi, int del)
 	MDB_cursor *mc;
 	int rc;
 
-	if (!txn || !dbi || dbi >= txn->mt_numdbs)
+	if (!txn || !dbi || dbi >= txn->mt_numdbs || (unsigned)del > 1)
 		return EINVAL;
 
 	if (F_ISSET(txn->mt_flags, MDB_TXN_RDONLY))
diff --git a/libraries/libmdb/mdb.h b/libraries/libmdb/mdb.h
index bb0ca307bbd2d8ee99efa9976e458836ac196dd2..2fcf132c05b4a05add4a24f822db370f7a0ca222 100644
--- a/libraries/libmdb/mdb.h
+++ b/libraries/libmdb/mdb.h
@@ -792,12 +792,12 @@ void mdb_close(MDB_env *env, MDB_dbi dbi);
 
 	/** @brief Delete a database and/or free all its pages.
 	 *
-	 * If the \b del parameter is non-zero the DB handle will be closed
+	 * If the \b del parameter is 1, the DB handle will be closed
 	 * and the DB will be deleted.
 	 * @param[in] txn A transaction handle returned by #mdb_txn_begin()
 	 * @param[in] dbi A database handle returned by #mdb_open()
-	 * @param[in] del non-zero to delete the DB from the environment,
-	 * otherwise just free its pages.
+	 * @param[in] del 1 to delete the DB from the environment,
+	 * 0 to just free its pages.
 	 * @return A non-zero error value on failure and 0 on success.
 	 */
 int  mdb_drop(MDB_txn *txn, MDB_dbi dbi, int del);