diff --git a/neo/Network/P2P/TaskManager.cs b/neo/Network/P2P/TaskManager.cs index e501e2bb10..f66744e92e 100644 --- a/neo/Network/P2P/TaskManager.cs +++ b/neo/Network/P2P/TaskManager.cs @@ -230,8 +230,8 @@ private void RequestTasks(TaskSession session) } if ((!HasHeaderTask || globalTasks[HeaderTaskHash] < MaxConncurrentTasks) && (Blockchain.Singleton.HeaderHeight < session.Version.StartHeight - || (Blockchain.Singleton.HeaderHeight == session.Version.StartHeight - && Blockchain.Singleton.HeaderHeight == sessions.Select(x => x.Value.Version.StartHeight).Max() + || (Blockchain.Singleton.Height == Blockchain.Singleton.HeaderHeight + && Blockchain.Singleton.HeaderHeight >= sessions.Select(x => x.Value.Version.StartHeight).Max() && TimeProvider.Current.UtcNow.ToTimestamp() - 60 >= Blockchain.Singleton.GetBlock(Blockchain.Singleton.CurrentHeaderHash)?.Timestamp))) { session.Tasks[HeaderTaskHash] = DateTime.UtcNow;