Its natural habitat is subtropical or tropical evergreen montane forest and surrounding shrubland and bamboo. It is found from 600 m to 1900 m in Tanzania's Udzungwa Mountains, and up to 2700 m elsewhere. Where its range overlaps with the closely related white-bellied crested flycatcher this species is found at higher altitudes and not below 2250 m, where its relative it is absent it ranges as low as 1200 m.