conditional callback update