fix recursive box update