Numerous experimental studies have documented that injecting low-salinity water into an oil reservoir can increase the amount of oil recovered. However, owing to the complexity of the chemical interactions involved in this process, there has been much debate over the dominant mechanism causing this effect. In order to further understand one proposed mechanism, multicomponent ionic exchange, we study the motion of an oil slug through a clay pore throat filled with saline water. The pore throat is modelled as a capillary tube connecting two bulk regions of water. We assume that the surfaces of the oil and the capillary are negatively charged and that, due to repulsion between these surfaces, the oil slug is separated from the capillary surface by a thin film of water. Ion interactions at the oil–water and clay–water interfaces are modelled using the law of mass action. By using lubrication theory to describe the thin-film flow in the water layer separating the oil from the clay surface, and the macroscopic flow through the capillary, we derive expressions for the thickness of the wetting film, and the velocity of the oil slug, given a pressure difference across the ends of the capillary. Numerical results show that the thickness of the water layer and the velocity of the oil slug increase as the salinity of the water is reduced, suggesting that this mechanism contributes to the low-salinity effect. An analytical solution is presented in the limit in which the applied pressure is small.