diff --git a/libraries/adodb/adodb.inc.php b/libraries/adodb/adodb.inc.php
index 62607a258295bf3c27b6e11391a165a32c6fbe70..ed4617c1791dd214a8429f6466ac88525a63b2c0 100644
--- a/libraries/adodb/adodb.inc.php
+++ b/libraries/adodb/adodb.inc.php
@@ -1358,7 +1358,7 @@ if (!defined('_ADODB_LAYER')) {
 	 * @return  the last inserted ID. Not all databases support this.
 	 */
 	function Insert_ID($table='',$column='') {
-		if ($this->_logsql && $this->lastInsID) {
+		if ($this->_logsql || $this->lastInsID) {
 			return $this->lastInsID;
 		}
 		if ($this->hasInsertID) {
diff --git a/libraries/adodb/drivers/adodb-mysqli.inc.php b/libraries/adodb/drivers/adodb-mysqli.inc.php
index 188efc9fe779ca898514f453e647a3c829561456..c53eeeed4d0f4f00395efa5fa7a45f0ef63b603a 100644
--- a/libraries/adodb/drivers/adodb-mysqli.inc.php
+++ b/libraries/adodb/drivers/adodb-mysqli.inc.php
@@ -195,6 +195,7 @@ class ADODB_mysqli extends ADOConnection {
 		if (!$ok) return $this->RollbackTrans();
 
 		if ($this->transCnt) $this->transCnt -= 1;
+		$this->lastInsID = $this->_insertid();
 		$this->Execute('COMMIT');
 
 		//$this->Execute('SET AUTOCOMMIT=1');