AutoMapper doesn't try to reuse mappings by design - mostly because I would confuse myself in these cases. You opt in to shared mappings:
Mapper.Initialize(cfg => {
cfg.CreateMap<IPublishedContent, IHaveTitle>()
.ForMember(n => n.Title, map => map.ResolveUsing(AppearanceManager.GetTitle));
cfg.CreateMap<IPublishedContent, ContactListingPage>()
.IncludeBase<IPublishedContent, IHaveTitle>();
cfg.CreateMap<IPublishedContent, NewsListingPage>()
.IncludeBase<IPublishedContent, IHaveTitle>();
});
I'm usually pretty careful about these because I don't necessarily want to introduce coupling on the ViewModel side. I've already removed the duplication through a shared resolver.