Climate change is one of the most important recent forces modulating the structure of ecological communities worldwide. Although a number of studies have documented climatically induced altitudinal range shifts, with species move upwards with increasing temperature and tracking their climatic optima, an examination of interspecific variability in such altitudinal shifts remains unexplored. Using a unique dataset on the altitudinal distribution of birds in a central European mountain range, collected with constant effort and methodology over more than 20 years, we examined the effects of particular species’ ecological traits on interspecific variability in altitudinal range shifts. We predicted that shifts would be greater in species with narrower European climatic niches, breeding in open habitats, feeding on insects and originally breeding at lower altitudes. Patterns of the shifts differed within the time period studied. In the first decade, no climate change was observed and species did not show any direction in their altitudinal shifts. In the second decade, local spring temperatures increased and species moved to higher altitudes. These altitudinal shifts were related to species’ habitat preferences, with open habitat species shifting to higher altitudes than forest species. The effect of other predictors was relatively small. The habitat effects imply either stronger self-regulation of the forest microclimate compared to open habitats, with forest species less forced to move upwards, or a delayed shift in the alpine timberline due to the slow growth of trees. In the latter case, forest species would face unfavourable climatic conditions and at the same time be constrained by the limited distribution of their habitat. Our study shows that species’ ecology can considerably alter the actual outcome of the impacts of ongoing climate change in mountain areas.