Try centering by mean(lag1)
? Here is an example where it works as expected, but you do have to center on the same independent variable.
> set.seed(1)
> df <- data.frame(x=1:10, y=1:10+runif(10))
> lm(y ~ x, df)$coef
(Intercept) x
0.5111385 1.0073410
> lm(y ~ 1, df)$coef
(Intercept)
6.051514
> lm(y ~ I(x - mean(x)), df)$coef
(Intercept) I(x - mean(x))
6.051514 1.007341