Only refresh when needed