ntpd has some safety limits based on the size of the discrepancy between local time and network time. If the discrepancy is too big, ntpd won't update the time. So you better set the system time as correct as you can (after stopping ntpd) with:

/etc/init.d/ntp stop

date +%T -s "hh:mm:ss"

/etc/init.d/ntp start

This should hopefully fix the problem