Using the Sagdeev potential approach, arbitrary amplitude modified ion acoustic solitons and double layers have been studied in an electron–positron–ion (e–p–i) plasma composed of Cairns-distributed electrons, Boltzmann positrons and cold ions. Existence domains are presented in different slices of parameter space, and care is taken to differentiate between behaviour at a fixed soliton speed, and at the Mach number normalized with respect to the true acoustic speed for the three-component plasma. Negative solitons, limited in Mach number by double layers, have been found over small ranges in β, relative positron density and Mach number. These have not previously been reported in an e–p–i plasma. A region of 'coexistence' in parameter space has been identified, in which solitons of both polarities are supported. In this region, one polarity behaves in a 'Korteweg–de Vries (KdV)-like' fashion, vanishing at the acoustic speed, while solitons of the other polarity have finite amplitude at the acoustic speed ('non-KdV-like'), as has been reported recently in a number of other plasma models. This work extends considerably and also corrects some errors in a recent publication (Pakzad 2009 Phys. Lett. A 373 847–50).