Нашел уже, валится на этом
if(!$arResult["VARIABLES"]["SECTION_ID"]){
CHTTP::SetStatus("404 Not Found");
@define("ERROR_404","Y");
}
т.к. $arResult["VARIABLES"] - пустой. Вот только не понял, этот массив заполняется автоматом при каких-то условиях, или его надо заполнять самому.