--- a/ntp_io.c
+++ b/ntp_io.c
@@ -355,6 +355,7 @@ read_from_socket(void *anything)
       }
 #endif
 
+#ifdef HAVE_IPV6
 #ifdef IPV6_PKTINFO
       if (cmsg->cmsg_level == IPPROTO_IPV6 && cmsg->cmsg_type == IPV6_PKTINFO) {
         struct in6_pktinfo ipi;
@@ -365,6 +366,7 @@ read_from_socket(void *anything)
         remote_addr.local_ip_addr.family = IPADDR_INET6;
       }
 #endif
+#endif
 
 #ifdef SO_TIMESTAMP
       if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SO_TIMESTAMP) {
@@ -466,6 +468,7 @@ send_packet(void *packet, int packetlen,
   }
 #endif
 
+#ifdef HAVE_IPV6
 #ifdef IPV6_PKTINFO
   if (remote_addr->local_ip_addr.family == IPADDR_INET6) {
     struct cmsghdr *cmsg;
@@ -484,6 +487,7 @@ send_packet(void *packet, int packetlen,
         sizeof(ipi->ipi6_addr.s6_addr));
   }
 #endif
+#endif
 
 #if 0
     LOG(LOGS_INFO, LOGF_NtpIO, "sending to %s:%d from %s",