The displacement of Ca(2+), Mg(2+), K(+) and Al(3+) from the A and Bw or Bt horizons of two soils developed over serpentinized amphibolites when equilibrated in Cu(2+), Cd(2+) or Pb(2+) solutions was determined, together with the concomitant sorption of the heavy metal. The contributions of Mg(2+) to the effective cation exchange capacities of the A and Bt horizons of the Endoleptic Luvisol were 57% and 94%, respectively, and its contributions to those of the A and Bw horizons of the Mollic Cambisol were 70% and 77%, respectively. In all four horizons, cation exchange, chiefly with Mg(2+) and Ca(2+), was the process chiefly responsible for sorption of Cd(2+), Cu(2+) and Pb(2+). Al(3+) and K(+) were hardly implicated, especially in the case of Cd(2+).