diff --git a/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml b/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
index 1da8cfc20..124874811 100755
--- a/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
+++ b/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
@@ -169,10 +169,19 @@
Overload-DBObject
Lock();
+ // Beware !!!
+ // Compensate the fact that CMDBObject::DBInsertTracked_Internal does NOT call the derived version of DBInsertNoReload
+ // when performing an INsert with "no reload" but actually calls it (followed by Reload) when doing an Insert with reload !!
+ if ($bDoNotReload)
+ {
+ $oMutex = new iTopMutex('ticket_insert');
+ $oMutex->Lock();
+ }
$ret = parent::DBInsertTracked_Internal($bDoNotReload);
- $oMutex->Unlock();
+ if ($bDoNotReload)
+ {
+ $oMutex->Unlock();
+ }
return $ret;
}
]]>