Bitrix не сохраняется привязка в Секции

Ситуация была следующая, контент-менеджер привязывал товар к определённой секции но привязка к нужно секции не сохранялась. Есть таблица b_iblock_element и b_iblock_section_element, при изменение привязки элемента к разделам

рис.1

сохраняется нормально привязка в таблице b_iblock_section_element, а в таблице b_iblock_element ничего не меняется, сохраняется вообще id секции к которой когда то был подвязан этот элемент. Вот пример:

рис.2


рис.3

Как видно на рис.2 (в таблице b_iblock_element) стоит совершено другой id (1280) секции которого нету на рис.3 (в таблице b_iblock_section_element). И из за этого возникает проблема, компонент строит url на основе записи к которая содежится в таблице b_iblock_element, а так как к этому элементу уже не привязан элемент получается ошибка. На мои обращения тех-поддержка битрикс ответила следующим содержанием:

рис.4

Исходя из этого написал такой обработчик события:

    
    AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("AfterUpdateElement", "OnAfterIBlockElementUpdateHandler"));

	class AfterUpdateElement
	{
	    function OnAfterIBlockElementUpdateHandler(&$arFields)
	    {
	   		$query_section_id = 'SELECT* FROM `b_iblock_element` WHERE `ID`='.$arFields['ID'];
			$res_section_id = mysql_query($query_section_id);
			while ($ar_section_id = mysql_fetch_array($res_section_id))
			{
				$section_id = $ar_section_id['IBLOCK_SECTION_ID'];
			}

			if ( !in_array($section_id, $arFields['IBLOCK_SECTION']) && !empty($arFields['IBLOCK_SECTION'][0])) {
				
				sort($arFields['IBLOCK_SECTION']);
				$sql = "UPDATE `b_iblock_element` SET `IBLOCK_SECTION_ID` = '".$arFields['IBLOCK_SECTION'][0]."' WHERE `ID` = '".$arFields['ID']."'";
				mysql_query($sql);
			}
	    }
	}