diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
index 6f806a1..de56d04 100644
--- a/pimd/pim_iface.c
+++ b/pimd/pim_iface.c
@@ -256,14 +256,14 @@
 {
   struct pim_interface *pim_ifp;
 
-  {
+  if (PIM_DEBUG_ZEBRA) {
     char old_str[100];
     char new_str[100];
     pim_inet4_dump("<old?>", old_addr, old_str, sizeof(old_str));
     pim_inet4_dump("<new?>", new_addr, new_str, sizeof(new_str));
-    zlog_info("%s: %s: primary address changed from %s to %s on interface %s",
-	      __PRETTY_FUNCTION__, caller,
-	      old_str, new_str, ifp->name);
+    zlog_debug("%s: %s: primary address changed from %s to %s on interface %s",
+	       __PRETTY_FUNCTION__, caller,
+	       old_str, new_str, ifp->name);
   }
 
   pim_ifp = ifp->info;
@@ -329,8 +329,8 @@
     return;
 
   changed = 1; /* true */
-  zlog_debug("FIXME T31 C15 %s: on interface %s: acting on any addr change",
-	     __PRETTY_FUNCTION__, ifp->name);
+  zlog_info("FIXME T31 C15 %s: on interface %s: acting on any addr change",
+	    __PRETTY_FUNCTION__, ifp->name);
 
   if (PIM_DEBUG_ZEBRA) {
     zlog_debug("%s: on interface %s: %s",
@@ -382,7 +382,7 @@
   if (!if_is_operative(ifp))
     return;
 
-  /* if (PIM_DEBUG_ZEBRA) */ {
+  if (PIM_DEBUG_ZEBRA) {
     char buf[BUFSIZ];
     prefix2str(ifc->address, buf, BUFSIZ);
     zlog_debug("%s: %s ifindex=%d connected IP address %s %s",
@@ -501,7 +501,7 @@
   ifp = ifc->ifp;
   zassert(ifp);
 
-  /* if (PIM_DEBUG_ZEBRA) */ {
+  if (PIM_DEBUG_ZEBRA) {
     char buf[BUFSIZ];
     prefix2str(ifc->address, buf, BUFSIZ);
     zlog_debug("%s: %s ifindex=%d disconnected IP address %s %s",
@@ -1055,14 +1055,14 @@
     return -4;
   }
 
-  {
+  if (PIM_DEBUG_IGMP_EVENTS) {
     char group_str[100];
     char source_str[100];
     pim_inet4_dump("<grp?>", group_addr, group_str, sizeof(group_str));
     pim_inet4_dump("<src?>", source_addr, source_str, sizeof(source_str));
     zlog_debug("%s: issued static igmp join for channel (S,G)=(%s,%s) on interface %s",
-	       __PRETTY_FUNCTION__,
-	       source_str, group_str, ifp->name);
+	      __PRETTY_FUNCTION__,
+	      source_str, group_str, ifp->name);
   }
 
   return 0;
