Kalman filtering (KF) is used to estimate systematic errors in surface ozone forecasts. The KF updates its estimate of future ozone-concentration bias using past forecasts and observations. The optimum filter parameter is estimated via sensitivity analysis. KF performance is tested for deterministic, ensemble-averaged and probabilistic forecasts. Eight simulations were run for 56 d during summer 2004 over northeastern USA and southern Canada, with 358 ozone surface stations. KF improves forecasts of ozone-concentration magnitude (measured by root mean square error) and the ability to predict rare events (measured by the critical success index), for deterministic and ensemble-averaged forecasts. It improves the 24-h maximum ozone-concentration prediction (measured by the unpaired peak prediction accuracy), and improves the linear dependency and timing of forecasted and observed ozone concentration peaks (measured by a lead/lag correlation). KF also improves the predictive skill of probabilistic forecasts of concentration greater than thresholds of 10-50 ppbv, but degrades it for thresholds of 70-90 ppbv. KF reduces probabilistic forecast bias. The combination of KF and ensemble averaging presents a significant improvement for real-time ozone forecasting because KF reduces systematic errors while ensemble-averaging reduces random errors. When combined, they produce the best overall ozone forecast.