As it turns out, this is the expected behavior since all TabItems except the first one are not loaded yet. Generally, when you use the ElementName, the binding engine uses FindName method on FrameworkElement to find the target. However, the second TabItem is not yet in the visual tree and FindName fails. However, this does not affect the grouping logic - everything is working as expected when switching the tabs.