Fix infinite loop issue with dependent destroy