Index: client.c =================================================================== RCS file: /usr/local/cvs/openntpd-portable/client.c,v retrieving revision 1.14 diff -u -p -r1.14 client.c --- client.c 20 Aug 2004 11:44:24 -0000 1.14 +++ client.c 21 Aug 2004 08:16:07 -0000 @@ -270,7 +270,8 @@ client_update(struct ntp_peer *p) * clock filter * find the offset which arrived with the lowest delay * use that as the peer update - * invalidate it and all older ones + * Afterwards, invalidate all offsets: since we're going to adjust, + * the old ones will not be valid any more anyway. */ for (i = 0; good == 0 && i < OFFSET_ARRAY_SIZE; i++) @@ -293,8 +294,7 @@ client_update(struct ntp_peer *p) ntp_adjtime(); for (i = 0; i < OFFSET_ARRAY_SIZE; i++) - if (p->reply[i].rcvd <= p->reply[best].rcvd) - p->reply[i].good = 0; + p->reply[i].good = 0; return (0); }