I have installed OpenNTPD to keep the router's time in sync, but it does not work as it should.

The environment:

1) ntpd.conf lists a couple of time servers by their IP address, so it's not a DNS issue
2) ntpd listens on all interfaces (0.0.0.0)
3) I have made the modification to the initscript, described in https://dev.openwrt.org/changeset/7664
4) The router (Asus WL500-GP) is used like a switch: all 5 ports are LAN ports in the same VLAN, and the default gateway is set up statically. It is a Linksys router, which is up and running (there's no problem with net access, though).

However, after reboot this is what I can see:

root@kardamon:~# ps -ef | grep ntp
  470 ntp         360 S   /usr/sbin/ntpd -s
  719 root        352 S   /usr/sbin/ntpd -s
  772 root        304 S   grep ntp
root@kardamon:~#

And this is what is logged to syslog:

Jan  1 01:11:43 kardamon daemon.info /usr/sbin/ntpd[719]: adjusting local clock by 237984873.246318s
Jan  1 01:11:43 kardamon daemon.crit /usr/sbin/ntpd[719]: adjtime failed: Invalid argument
Jan  1 01:16:01 kardamon daemon.info /usr/sbin/ntpd[719]: adjusting local clock by 237984873.242263s
Jan  1 01:16:01 kardamon daemon.crit /usr/sbin/ntpd[719]: adjtime failed: Invalid argument

Of course if I kill and restart ntpd, it works well and sets the clock instantly.

Any ideas what could be the problem?