diff --git a/core/dbobject.class.php b/core/dbobject.class.php index 932823bf4..6c910ae7a 100644 --- a/core/dbobject.class.php +++ b/core/dbobject.class.php @@ -790,10 +790,14 @@ abstract class DBObject { $aOriginalList = $oOriginalSet->ToArray(); $aNewSet = $oLinks->ToArray(); - $aToDelete = array_diff($aOriginalList, $aNewSet); - foreach ($aToDelete as $iKey => $oObject) + + foreach($aOriginalList as $iId => $oObject) { - $oObject->DBDelete(); + if (!array_key_exists($iId, $aNewSet)) + { + // It disappeared from the list + $oObject->DBDelete(); + } } } }