In 'The Elements of Statistical Learning', the expression for bias-variance decomposition of linear-model is given as $$Err(x_0)=\sigma_\epsilon^2+E[f(x_0)-E\hat f(x_0)]^2+||h(x_0)||^2\sigma_\epsilon^2,$$ where $f(x_0)$ is the actual target function, $ \sigma_\epsilon^2$ is variance of random error in the model $y=f(x)+\epsilon$ and $\hat f(x)$ is the linear estimator of $f(x)$.
The variance term is troubling me here because the equation implies that the variance would be zero if the targets are noiseless, that is, $\sigma_\epsilon^2=0.$ But it does not make sense to me because even with zero noise I can still get different estimators $\hat f(x_0)$ for different training sets which implies variance is non-zero.
For example, suppose the target function $f(x_0)$ is a quadratic and the training data contains two points sampled at random from this quadratic; clearly, I will get a different linear fit everytime I sample two points randomly from the quadratic-target. Then how can variance be zero?
Can anyone help me find out what is wrong in my understanding of bias-variance decomposition?