diff -up ntp-4.2.6p1/configure.rtnetlink ntp-4.2.6p1/configure
--- ntp-4.2.6p1/configure.rtnetlink	2010-02-09 11:19:49.000000000 +0100
+++ ntp-4.2.6p1/configure	2010-03-04 17:11:50.000000000 +0100
@@ -20579,6 +20579,7 @@ else
 /* end confdefs.h.  */
 
 #include <stddef.h>
+#include <sys/socket.h>
 #include <linux/rtnetlink.h>
 int
 main ()
diff -up ntp-4.2.6p1/ntpd/ntp_io.c.rtnetlink ntp-4.2.6p1/ntpd/ntp_io.c
--- ntp-4.2.6p1/ntpd/ntp_io.c.rtnetlink	2009-12-09 08:36:37.000000000 +0100
+++ ntp-4.2.6p1/ntpd/ntp_io.c	2010-03-04 17:11:32.000000000 +0100
@@ -4304,10 +4304,7 @@ init_async_notifications()
 #ifdef HAVE_RTNETLINK
 	memset(&sa, 0, sizeof(sa));
 	sa.nl_family = PF_NETLINK;
-	sa.nl_groups = RTMGRP_LINK | RTMGRP_IPV4_IFADDR
-		       | RTMGRP_IPV6_IFADDR | RTMGRP_IPV4_ROUTE
-		       | RTMGRP_IPV4_MROUTE | RTMGRP_IPV6_ROUTE
-		       | RTMGRP_IPV6_MROUTE;
+	sa.nl_groups = RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR;
 	if (bind(fd, (struct sockaddr *)&sa, sizeof(sa)) < 0) {
 		msyslog(LOG_ERR,
 			"bind failed on routing socket (%m) - using polled interface update");
