Recordings of the ERG, PERG, VEP and their multi-focal variants are occasionally contaminated with harmonic noise arising from the mains supply and CRT monitors. These noise contributions can be modelled as distorted sinusoids and identified by means of non-linear multiple regression and removed: no a priori estimates of number or frequency of noise sources are required. This approach is termed noise cancellation and does not constitute any form of notch filter: the fidelity of the underlying waveform is preserved. Here the simple theory is illustrated in artificial datasets and then applied to clinical examples of PERG and VEP. The programming language used throughout is MatLab R13SP3 (Mathworks UK Ltd.).