Skip to content

Est. 2011ยทMicrosoft Partner 7033487ยทDelivery under 3 minยทSupport 7 days a week

Your vault is empty.

Free Fix Event ID 129

Event ID 129: NtpClient cannot resolve a domain peer to use as a time source

9 min read Updated October 5, 2026 Windows Server: AD, DNS & Group Policy

Fix it now

The time service went looking for a domain controller to synchronise with and could not resolve one, so it has no peer and is falling back on the local clock. The published text says it will try again in 15 minutes and double the interval after that. The fault is in name resolution or the domain controller locator records, not in the time service.

Run these on the affected machine, in an elevated Command Prompt, in order

w32tm /query /source
nltest /dsgetdc:contoso.com
ipconfig /flushdns
w32tm /resync /rediscover
  1. Read the answer from w32tm /query /source. A local clock means the machine has no peer at all, which matches the event.
  2. If nltest /dsgetdc also fails, this is a DNS problem showing up as a time problem. Check that the machine points only at internal DNS servers – a public resolver will never return your domain controller records.
  3. If the locator works but no domain controller advertises as a time server, ask for one specifically: nltest /dsgetdc:<domain> /timeserv.
  4. On the domain controller side, re-register the records with nltest /dsregdns, and confirm it advertises correctly with dcdiag /test:Advertising.

Event ID 134 is the manual-peer version of the same message. If you see 134, someone configured a named peer on this machine, and it is that name that is not resolving.

If w32tm /query /source now names a domain controller, you are done. The next section covers the checks that decide whether the peer exists at all.

Why it happens

A domain member does not get time from a name you configure. It asks the domain controller locator for a domain controller and then synchronises with it, authenticating the exchange with the computer’s Kerberos session key. That dependency is the whole story here: if the locator cannot answer, the time service has nowhere to go, and it says so in terms that sound like a time fault.

The published text is specific about the retry behaviour: NtpClient was unable to set a domain peer to use as a time source, it will try again in 15 minutes, and it will double the reattempt interval thereafter. That doubling is why a transient DNS problem in the morning can leave a machine unsynchronised all afternoon even though DNS recovered, and why forcing a resync by hand is worth doing after you fix the underlying fault.

Event 134 is worth separating from 129 before you start. 134 says NtpClient was unable to set a manual peer, with a DNS resolution error on the name – in the published example, time.windows.com. A machine logging 134 has been given a named peer by somebody, and the fix is that name or the firewall in front of it, not the domain controller locator.

The machine cannot resolve domain controller records

You have this one if nltest /dsgetdc:<domain> fails as well, and w32tm /query /source shows a local clock.

  1. Check the DNS servers on the adapter with ipconfig /all. Internal resolvers only.
  2. Flush the resolver cache and try again: ipconfig /flushdns, then nltest /dsgetdc:<domain>.
  3. Once the locator works, force the time service to look again with w32tm /resync /rediscover rather than waiting for the backoff.

No domain controller is advertising as a time server

You have this one if The locator works, but nltest /dsgetdc:<domain> /timeserv fails.

  1. On the domain controllers, confirm the NTP server provider is enabled: Enabled set to 1 under ...\W32Time\TimeProviders\NtpServer.
  2. Confirm AnnounceFlags – 5 on the PDC emulator, 10 on the other domain controllers.
  3. Run dcdiag /test:Advertising on a domain controller and fix what it reports before looking at the client again.

The domain controller’s own locator records are missing

You have this one if Several machines on one site lose their time source at once, and DNS has been rebuilt, scavenged or repointed recently.

  1. On the domain controller, re-register with nltest /dsregdns, or restart the Netlogon service.
  2. Check the zone actually accepted the records, especially where scavenging is aggressive.
  3. Flush the resolver cache on a client and confirm it can find a domain controller again.

A manual peer was configured and no longer resolves

You have this one if Event 134 rather than 129, naming a specific host such as an external NTP name.

  1. Read the name out of the event – the published example is time.windows.com with a DNS resolution error.
  2. Decide whether this machine should have a manual peer at all. Domain members should normally follow the hierarchy.
  3. To put it back on the hierarchy: w32tm /config /syncfromflags:domhier /update, then restart the service.

Full reference

Two events that read alike and mean different things

Event ID What it says
129 NtpClient was unable to set a domain peer to use as a time source, because of a discovery error. It retries in 15 minutes and doubles the interval
134 NtpClient was unable to set a manual peer to use as a time source, because of a DNS resolution error on the named peer

Events that travel with these

Microsoft documents events 24, 29 and 38 together, as the set logged on a virtualised domain controller that is synchronising both from the hypervisor’s integration service and from the domain hierarchy. If you are seeing those three on a virtual domain controller, the fix is on the host: disable the time synchronisation integration for that guest, and let it follow the domain hierarchy. Microsoft’s stated reason is worth the trouble – a domain controller whose system time jumps can leave lingering objects in caches and can stop replication.

Checks in the order that saves time

  1. w32tm /query /source on the client. A local clock confirms there is no peer.
  2. nltest /dsgetdc:<domain>. If this fails, stop and fix DNS.
  3. nltest /dsgetdc:<domain> /timeserv. If this fails while the previous one works, the problem is on the domain controllers.
  4. dcdiag /test:Advertising on a domain controller.
  5. w32tm /monitor to see the offsets across the domain controllers once a source exists.
  6. w32tm /resync /rediscover on the client, because the backoff means it will not retry promptly on its own.

What has to be open

  • UDP 123 between the client and the domain controller, in both directions. The NTP client can only use UDP 123 as its source port.
  • The usual domain controller locator path, since the time service depends on finding a domain controller before it can synchronise at all.
  • Nothing else. If UDP 123 is open and the locator works, remaining failures are configuration on the domain controllers rather than the network.

The registry values you may need to read

Value Key Meaning
Type ...\W32Time\Parameters NT5DS for a domain member following the hierarchy; NTP where a manual peer list is in use
NtpServer ...\W32Time\Parameters The manual peer list. On a domain member this should normally be irrelevant
SpecialPollInterval ...\W32Time\TimeProviders\NtpClient Poll interval in seconds when the source is unavailable
ResolvePeerBackoffMinutes ...\W32Time\TimeProviders\NtpClient The backoff the event refers to, 15 minutes by default
ResolvePeerBackoffMaxTimes ...\W32Time\TimeProviders\NtpClient How many times that interval doubles before it stops growing

Every code this article covers

Code What it points at Source
Event ID 129 NtpClient was unable to set a domain peer to use as a time source because of a discovery error; it retries in 15 minutes and doubles the interval thereafter Microsoft Learn
Event ID 24 No published per-event text was found. Documented as part of the 24, 29 and 38 set logged on a virtualised domain controller synchronising from both the host and the domain hierarchy not published by the vendor
Event ID 38 As above: no published text, documented only as part of that virtualised domain controller set not published by the vendor
Event ID 36 No acceptable source publishes a meaning for this ID. Treat it functionally as the service reporting a long period with no usable time sample, and confirm with w32tm /query /status not published by the vendor
Event ID 134 NtpClient was unable to set a manual peer to use as a time source because of a DNS resolution error on the named peer Microsoft Learn

Confirm the fix worked

  1. w32tm /query /source names a domain controller rather than a local clock.
  2. nltest /dsgetdc:<domain> /timeserv returns a domain controller.
  3. w32tm /query /status shows a recent successful synchronisation and a sensible stratum.
  4. No new 129 or 134 events after a reboot.
  5. w32tm /monitor shows this machine’s offset in line with the domain controllers.

Questions people ask about this

Is the clock already wrong when this appears?

Not necessarily. The machine has no peer, so it is running on its own clock and will drift. The event is a warning about the source, not a report of drift.

Why does it not recover on its own after DNS is fixed?

Because of the documented backoff: it retries in 15 minutes and doubles the interval thereafter. Force it with w32tm /resync /rediscover once the locator works.

What is the difference between 129 and 134?

129 is a domain peer it could not discover; 134 is a manual peer it could not resolve by name. The second means someone configured a specific server on this machine.

Should a domain member ever have a manual peer?

Rarely. Domain members should follow the hierarchy with Type NT5DS. Manual peers belong on the forest root PDC emulator.

Does fixing this cost anything?

No. It is DNS, the domain controller locator records and a couple of registry values on the domain controllers.

Related error codes

Was this article helpful?

Your feedback helps us improve our documentation.

Related articles

Free Fix Event ID 4521: DNS cannot load an Active Directory integrated zone License Error Error 0x80092013: revocation checking fails because the CRL is unreachable License Error Error 0x80094800: the CA does not support the requested certificate template License Error Error 1788 trusted domain failure: forest and external trusts that stop working
โ† Back to Knowledge Base