This paper analyses the problem of price discrimination in a market where consumers have heterogeneous preferences both over a horizontal parameter (brand) and a vertical one (quality). Discriminatory contracts are characterised for different market structures. It is shown that price dispersion, i.e. the observed range of prices for each class of customers, increases almost everywhere as competition is introduced in the market. The findings are discussed with reference to the UK mobile telecommunications market.