diff --git a/pimd/Makefile.am b/pimd/Makefile.am
index 70c5096..9345460 100644
--- a/pimd/Makefile.am
+++ b/pimd/Makefile.am
@@ -22,7 +22,6 @@
 # PIM_DEBUG_BYDEFAULT: Automatically enables all pimd "debug ..." commands
 # PIM_ZCLIENT_DEBUG: Support for internal ZEBRA client debugging
 # PIM_MOTD_VERSION: Includes pimd version in default MOTD
-# PIM_USE_QUAGGA_INET_CHECKSUM: Prefer Quagga inet checksum
 # PIM_CHECK_RECV_IFINDEX_SANITY: Compare socket ifindex with recv ifindex
 # PIM_REPORT_RECV_IFINDEX_MISMATCH: Report sock/recv ifindex mismatch
 # PIM_ENFORCE_LOOPFREE_MFC: Refuse adding looping MFC entries
@@ -36,7 +35,6 @@
 #PIM_DEFS += -DPIM_REPORT_RECV_IFINDEX_MISMATCH
 PIM_DEFS += -DPIM_ZCLIENT_DEBUG
 PIM_DEFS += -DPIM_MOTD_VERSION
-PIM_DEFS += -DPIM_USE_QUAGGA_INET_CHECKSUM
 PIM_DEFS += -DPIM_ENFORCE_LOOPFREE_MFC
 #PIM_DEFS += -DPIM_UNEXPECTED_KERNEL_UPCALL
 #PIM_DEFS += -DPIM_USE_QUAGGA_GETTIME
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 8b51977..eaf209c 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -3590,7 +3590,7 @@
   igmp_msg_len = IGMP_V3_MSG_MIN_SIZE + (num_sources << 4);   /* v3 report for one single group record */
 
   /* compute checksum */
-  *(uint16_t *)(igmp_msg + IGMP_V3_CHECKSUM_OFFSET) = pim_inet_checksum(igmp_msg, igmp_msg_len);
+  *(uint16_t *)(igmp_msg + IGMP_V3_CHECKSUM_OFFSET) = in_cksum(igmp_msg, igmp_msg_len);
 
   /* "receive" message */
 
diff --git a/pimd/pim_igmp.c b/pimd/pim_igmp.c
index 03cf3cd..a54463f 100644
--- a/pimd/pim_igmp.c
+++ b/pimd/pim_igmp.c
@@ -299,7 +299,7 @@
   /* for computing checksum */
   *(uint16_t *) (igmp_msg + IGMP_V3_CHECKSUM_OFFSET) = 0;
 
-  checksum = pim_inet_checksum(igmp_msg, igmp_msg_len);
+  checksum = in_cksum(igmp_msg, igmp_msg_len);
   if (checksum != recv_checksum) {
     zlog_warn("Recv IGMP query v%d from %s on %s: checksum mismatch: received=%x computed=%x",
 	      query_version, from_str, ifp->name, recv_checksum, checksum);
@@ -470,7 +470,7 @@
   /* for computing checksum */
   *(uint16_t *) (igmp_msg + IGMP_V3_CHECKSUM_OFFSET) = 0;
 
-  checksum = pim_inet_checksum(igmp_msg, igmp_msg_len);
+  checksum = in_cksum(igmp_msg, igmp_msg_len);
   if (checksum != recv_checksum) {
     zlog_warn("Recv IGMP report v3 from %s on %s: checksum mismatch: received=%x computed=%x",
 	      from_str, ifp->name, recv_checksum, checksum);
diff --git a/pimd/pim_igmpv3.c b/pimd/pim_igmpv3.c
index 24db40b..b95adb6 100644
--- a/pimd/pim_igmpv3.c
+++ b/pimd/pim_igmpv3.c
@@ -1651,7 +1651,7 @@
   query_buf[9]                                         = qqic;
   *(uint16_t *)(query_buf + IGMP_V3_NUMSOURCES_OFFSET) = htons(num_sources);
 
-  checksum = pim_inet_checksum(query_buf, msg_size);
+  checksum = in_cksum(query_buf, msg_size);
   *(uint16_t *)(query_buf + IGMP_V3_CHECKSUM_OFFSET) = checksum;
 
   if (PIM_DEBUG_IGMP_PACKETS) {
diff --git a/pimd/pim_main.c b/pimd/pim_main.c
index b314df2..768ac08 100644
--- a/pimd/pim_main.c
+++ b/pimd/pim_main.c
@@ -281,10 +281,6 @@
 #endif
 #endif
 
-#ifdef PIM_USE_QUAGGA_INET_CHECKSUM
-  zlog_notice("PIM_USE_QUAGGA_INET_CHECKSUM: using Quagga's builtin checksum");
-#endif
-
 #ifdef PIM_UNEXPECTED_KERNEL_UPCALL
   zlog_notice("PIM_UNEXPECTED_KERNEL_UPCALL: report unexpected kernel upcall");
 #endif
diff --git a/pimd/pim_msg.c b/pimd/pim_msg.c
index 79ae33a..8ead7ce 100644
--- a/pimd/pim_msg.c
+++ b/pimd/pim_msg.c
@@ -46,7 +46,7 @@
    */
 
   *(uint16_t *) PIM_MSG_HDR_OFFSET_CHECKSUM(pim_msg) = 0;
-  checksum = pim_inet_checksum(pim_msg, pim_msg_size);
+  checksum = in_cksum(pim_msg, pim_msg_size);
   *(uint16_t *) PIM_MSG_HDR_OFFSET_CHECKSUM(pim_msg) = checksum;
 }
 
diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c
index 4fda26e..fb6c3ac 100644
--- a/pimd/pim_pim.c
+++ b/pimd/pim_pim.c
@@ -194,7 +194,7 @@
   /* for computing checksum */
   *(uint16_t *) PIM_MSG_HDR_OFFSET_CHECKSUM(pim_msg) = 0;
 
-  checksum = pim_inet_checksum(pim_msg, pim_msg_len);
+  checksum = in_cksum(pim_msg, pim_msg_len);
   if (checksum != pim_checksum) {
     zlog_warn("Ignoring PIM pkt from %s with invalid checksum: received=%x calculated=%x",
 	      ifp->name, pim_checksum, checksum);
diff --git a/pimd/pim_util.c b/pimd/pim_util.c
index a7e8234..fdfed2b 100644
--- a/pimd/pim_util.c
+++ b/pimd/pim_util.c
@@ -98,43 +98,6 @@
   return value;
 }
 
-#ifndef PIM_USE_QUAGGA_INET_CHECKSUM
-/*
-  RFC 3376: 4.1.2. Checksum
-
-  The Checksum is the 16-bit one's complement of the one's complement
-  sum of the whole IGMP message (the entire IP payload).  For
-  computing the checksum, the Checksum field is set to zero.  When
-  receiving packets, the checksum MUST be verified before processing a
-  packet.  [RFC-1071]
-*/
-uint16_t pim_inet_checksum(const char *buf, int size)
-{
-  const uint16_t *ptr;
-  uint32_t        sum;
-  uint16_t        checksum;
-
-  ptr = (const uint16_t *) buf;
-  sum = 0;
-  while (size > 1) {
-    sum += *ptr;
-    ++ptr;
-    size -= 2;
-  }
-
-  /* Add left-over byte, if any */
-  if (size > 0)
-    sum += (uint16_t) *(const uint8_t *) ptr;
-
-  /* Fold 32-bit sum to 16 bits */
-  sum = (sum & 0xffff) + (sum >> 16);
-
-  checksum = ~sum;
-
-  return checksum;
-}
-#endif /* PIM_USE_QUAGGA_INET_CHECKSUM */
-
 void pim_pkt_dump(const char *label, const uint8_t *buf, int size)
 {
   char dump_buf[1000];
diff --git a/pimd/pim_util.h b/pimd/pim_util.h
index 6f5bf22..a8613e2 100644
--- a/pimd/pim_util.h
+++ b/pimd/pim_util.h
@@ -32,12 +32,6 @@
 uint8_t igmp_msg_encode16to8(uint16_t value);
 uint16_t igmp_msg_decode8to16(uint8_t code);
 
-#ifdef PIM_USE_QUAGGA_INET_CHECKSUM
-#define pim_inet_checksum(buf,size) in_cksum(buf,size)
-#else
-uint16_t pim_inet_checksum(const char *buf, int size);
-#endif /* PIM_USE_QUAGGA_INET_CHECKSUM */
-
 void pim_pkt_dump(const char *label, const uint8_t *buf, int size);
 
 #endif /* PIM_UTIL_H */
