diff --git a/pimd/pim_zlookup.c b/pimd/pim_zlookup.c
index 1492f7c..be0499e 100644
--- a/pimd/pim_zlookup.c
+++ b/pimd/pim_zlookup.c
@@ -402,6 +402,8 @@
 			   int max_lookup)
 {
   int lookup;
+  uint32_t route_metric = 0xFFFFFFFF;
+  uint8_t  protocol_distance = 0xFF;
 
   for (lookup = 0; lookup < max_lookup; ++lookup) {
     int num_ifindex;
@@ -418,6 +420,12 @@
 		lookup, max_lookup, addr_str);
       return -1;
     }
+
+    if (lookup < 1) {
+      /* this is the non-recursive lookup - save original metric/distance */
+      route_metric = nexthop_tab[0].route_metric;
+      protocol_distance = nexthop_tab[0].protocol_distance;
+    }
     
     /*
       FIXME: Non-recursive nexthop ensured only for first ifindex.
@@ -433,12 +441,18 @@
 	/* Report non-recursive success after first lookup */
 	char addr_str[100];
 	pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
-	zlog_info("%s %s: lookup=%d/%d: found non-recursive ifindex=%d for address %s",
+	zlog_info("%s %s: lookup=%d/%d: found non-recursive ifindex=%d for address %s dist=%d met=%d",
 		  __FILE__, __PRETTY_FUNCTION__,
-		  lookup, max_lookup, first_ifindex, addr_str);
+		  lookup, max_lookup, first_ifindex, addr_str,
+		  nexthop_tab[0].protocol_distance,
+		  nexthop_tab[0].route_metric);
 
 	/* use last address as nexthop address */
 	nexthop_tab[0].nexthop_addr = addr;
+
+	/* report original route metric/distance */
+	nexthop_tab[0].route_metric = route_metric;
+	nexthop_tab[0].protocol_distance = protocol_distance;
       }
 
       return num_ifindex;
@@ -449,9 +463,11 @@
       char nexthop_str[100];
       pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
       pim_inet4_dump("<nexthop?>", nexthop_addr, nexthop_str, sizeof(nexthop_str));
-      zlog_warn("%s %s: lookup=%d/%d: zebra returned recursive nexthop %s for address %s",
+      zlog_warn("%s %s: lookup=%d/%d: zebra returned recursive nexthop %s for address %s dist=%d met=%d",
 		__FILE__, __PRETTY_FUNCTION__,
-		lookup, max_lookup, nexthop_str, addr_str);
+		lookup, max_lookup, nexthop_str, addr_str,
+		nexthop_tab[0].protocol_distance,
+		nexthop_tab[0].route_metric);
     }
 
     addr = nexthop_addr; /* use nexthop addr for recursive lookup */
