Adaptive update