Looks like bug #320 is finally fixed now.
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index 9d2310b..ff858bd 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -472,6 +472,15 @@
             if_delete_update (ifp);
           }
 #endif /* RTM_IFANNOUNCE */
+      if (if_is_up (ifp))
+      {
+#if defined(__bsdi__)
+        if_kvm_get_mtu (ifp);
+#else
+        if_get_mtu (ifp);
+#endif /* __bsdi__ */
+        if_get_metric (ifp);
+      }
     }
 
 #ifdef HAVE_NET_RT_IFLIST