We present a three-stage algorithm for adaptive separation of free-surface multiples. The free-surface multiple elimination (FSME) method requires, as deterministic prerequisites, knowledge of the source wavelet and deghosted data. In their absence, FSME provides an estimate of free-surface multiples that must be subtracted adaptively from the data. First we construct several orders from the free-surface multiple prediction formula. Next we use the full recording duration of any given data trace to construct filters that attempt to match the data and the multiple predictions. This kind of filter produces adequate phase results, but the order-by-order nature of the free-surface algorithm brings results that remain insufficient for straightforward subtraction. Then we construct, trace by trace, a mixing model in which the mixtures are the data trace and its orders of multiple predictions. We separate the mixtures through a blind source separation technique, in particular by employing independent component analysis. One of the recovered signals is a data trace without free-surface multiples. This technique sidesteps the subtraction inherent in most adaptive subtraction methods by separating the desired signal from the free-surface multiples. The method was applied to synthetic and field data. We compared the field data to a published method and found comparable results.