We analyse congestion pricing in a road and rail network, where the two modes are imperfect substitutes. On the road there is bottleneck congestion; in each train there is crowding congestion. We model two dimensions of preference heterogeneity; these two dimensions have opposite effects on the welfare impact of congestion pricing and lead to different distributional effects. The distributional effects also differ between road and rail. On the road, pricing is generally more beneficial with a higher value of time or schedule delay. In the train, pricing has no distributional effects or is less beneficial with a higher value.