I can't remember offhand - what happens in the case where there are no siblings? Does $next_item come back as a null or an empty Item_Model? If it's the latter then you have to check $next_item->loaded() and not just do a null check.