A computer-implemented method for updating a frequency-domain filter coefficient W m, k of a frequency bin k of an adaptive echo canceller the filter coefficients of which are updateable in the frequency-domain in successive blocks m, m + 1, m + 2,..., characterised by: determining at a first block a first residual spectral error E m,k of the canceller and at a second block both a second residual spectral error B m±i,k of the canceller using a zero update step size for said filter coefficient as well as a third residual spectral error C m±i,k of the canceller using a full update step size for said filter coefficient; determining an optimal update step size μ m,k for said filter coefficient from said first, second and third residual spectral errors; and updating said filter coefficient W m,k by using said optimal update step size μ m,k according to W m + 1, k = W m, k + μ m, k E m, k X m, k * X m, k 2 ̅; wherein said first, second and third residual spectral errors are determined according to E m, k = Z m, k − W m, k X m, k, B m ± i, k = Z m ± i, k − W m, k X m ± i, k, C m ± i, k = Z m ± i, k − W m, k + X m, k * E m, k X m, k 2 X m ± i, k; W m,k being said frequency-domain filter coefficient at said first block; X m,k being the spectral samples of a source signal of the echo canceller at said first block; X m±i,k being the spectral samples of the source signal of the echo canceller at said second block; Z m,k being the spectral samples of a microphone signal of the echo canceller at said first block; Z m±i, k being the spectral samples of the microphone signal of the echo canceller at said second block; E m,k being said first residual spectral error at said first block; B m±i,k being said second residual spectral error when using said zero update step size at said second block; C m±i,k being said third residual spectral error when using said full update step size at said second block; and wherein * designates complex conjugate and (•) designates smoothing over k. determining at a first block a first residual spectral error E m,k of the canceller and at a second block both a second residual spectral error B m±i,k of the canceller using a zero update step size for said filter coefficient as well as a third residual spectral error C m±i,k of the canceller using a full update step size for said filter coefficient; determining an optimal update step size μ m,k for said filter coefficient from said first, second and third residual spectral errors; and updating said filter coefficient W m,k by using said optimal update step size μ m,k according to W m + 1, k = W m, k + μ m, k E m, k X m, k * X m, k 2 ̅; wherein said first, second and third residual spectral errors are determined according to E m, k = Z m, k − W m, k X m, k, B m ± i, k = Z m ± i, k − W m, k X m ± i, k, C m ± i, k = Z m ± i, k − W m, k + X m, k * E m, k X m, k 2 X m ± i, k; W m,k being said frequency-domain filter coefficient at said first block; X m,k being the spectral samples of a source signal of the echo canceller at said first block; X m±i,k being the spectral samples of the source signal of the echo canceller at said second block; Z m,k being the spectral samples of a microphone signal of the echo canceller at said first block; Z m±i, k being the spectral samples of the microphone signal of the echo canceller at said second block; E m,k being said first residual spectral error at said first block; B m±i,k being said second residual spectral error when using said zero update step size at said second block; C m±i,k being said third residual spectral error when using said full update step size at said second block; and W m,k being said frequency-domain filter coefficient at said first block; X m,k being the spectral samples of a source signal of the echo canceller at said first block; X m±i,k being the spectral samples of the source signal of the echo canceller at said second block; Z m,k being the spectral samples of a microphone signal of the echo canceller at said first block; Z m±i, k being the spectral samples of the microphone signal of the echo canceller at said second block; E m,k being said first residual spectral error at said first block; B m±i,k being said second residual spectral error when using said zero update step size at said second block; C m±i,k being said third residual spectral error when using said full update step size at said second block; and