SUMMARY Pearlman (1980) gives a fast filtering algorithm for an ARMA, i.e. autoregressive-moving average, model. When the algorithm is applied to a seasonal moving average model significant computational savings can be obtained by taking advantage of the structural zeros noted by Kohn & Ansley (1984) and Melard (1984). In this paper we identify a second set of structural zeros which leads to further significant computational savings. Our results can be applied to produce a fast algorithm for obtaining the likelihood of a stationary ARMA model with a seasonal moving average. Pearlman (1980) gave an algorithm for filtering observations from a stationary Gaussian ARMA (P, q) model and used it to compute the likelihood of the observations. This algorithm is based on a general fast filtering algorithm for state space models due to Morf, Sidhu & Kailath (1974). Pearlman's algorithm is efficiently implemented by Melard (1984) who pointed out additional computational savings. By using the backward transformation of Ansley (1979), Kohn & Ansley (1985) further refined Pearlman's algorithm by reducing it to filtering a pure moving average for the first N - p observations, where N is the sample size, and then switching to a Cholesky factorization method for the last p observations. For moderate to large values of N this variant of Pearlman's algorithm is the fastest in the literature for computing the likelihood of an ARMA process. For seasonal moving average models it is clear from Kohn & Ansley (1984) and Melard (1984) that considerable computational savings could be made in Pearlman's algorithms by taking account of structural zeros. These structural zeros were originally obtained for the Cholesky decomposition by Ansley (1979). In this paper we identify a second set of structural zeros, complementary to the first set. Recognizing these zeros makes the algorithm significantly faster, giving a very efficient method for computing the likelihood of a seasonal moving average model, and more generally