We present the CB tree, a counting-based selfadjusting binary search tree in which, as in splay trees, more-frequently accessed items move closer to the root. In a sequential execution, after m operations of which c(v) access item v, an access of v traverses a path of length O 1 + log m c(v) while doing few if any rotations. Unlike the original splay tree, in which each access moves the accessed item all the way to the root via a sequence of rotations, accesses in a CB tree do very few rotations, specifically O n + n log m n , during a sequence of m operations of which n are insertions. This is o(1) (subconstant) amortized per operation if m n. We adapt the CB tree into a scalable concurrent self-adjusting BST. We show experimentally that the concurrent CB tree scales well because it, too, performs few rotations, and therefore self-adjusts without having rotations create a bottleneck. Our evaluation shows that the concurrent CB tree performs better than existing concurrent search trees A preliminary version of this on non-uniform access sequences derived from real workloads.