Time instability in factor loadings can induce an overfitting problem in forecasting analyses since the structural change in factor loadings inflates the number of principal components and thus produces spurious factors. This paper proposes an algorithm to estimate non-spurious factors by identifying the set of observations with stable factor loadings based on the recursive procedure suggested by Inoue and Rossi (2011). I found that 51 out of 132 U.S. macroeconomic time series of Stock and Watson (2005) have stable factor loadings. Although crude principal components provide eight or more factors, there are only one or two non-spurious factors. The forecasts using non-spurious factors significantly improve out-of-sample performance.