diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index a75bd61..150c08a 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,12 @@
+2005-03-31 Hasso Tepper <hasso at quagga.net>
+
+	* rt_netlink.c (netlink_talk_filter): Show always warning message,
+	  it's not for debug.
+	* rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
+	  although we do now actually.
+	* rt_netlink.c (netlink_route, netlink_route_multipath): Always use
+	  netlink_cmd to send messages to the kernel.
+
 2005-03-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* irdp.h: Add prototype for irdp_sock_init, and fix protos for
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index 7a78602..042ee33 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -1221,8 +1221,7 @@
 static int
 netlink_talk_filter (struct sockaddr_nl *snl, struct nlmsghdr *h)
 {
-  if (IS_ZEBRA_DEBUG_KERNEL)
-    zlog_debug ("netlink_talk: ignoring message type 0x%04x", h->nlmsg_type);
+  zlog_warn ("netlink_talk: ignoring message type 0x%04x", h->nlmsg_type);
   return 0;
 }
 
@@ -1241,13 +1240,13 @@
   memset (&snl, 0, sizeof snl);
   snl.nl_family = AF_NETLINK;
 
-  n->nlmsg_seq = ++netlink_cmd.seq;
+  n->nlmsg_seq = ++nl->seq;
 
   /* Request an acknowledgement by setting NLM_F_ACK */
   n->nlmsg_flags |= NLM_F_ACK;
 
   if (IS_ZEBRA_DEBUG_KERNEL)
-    zlog_debug ("netlink_talk: %s type %s(%u), seq=%u", netlink_cmd.name,
+    zlog_debug ("netlink_talk: %s type %s(%u), seq=%u", nl->name,
                lookup (nlmsg_str, n->nlmsg_type), n->nlmsg_type,
                n->nlmsg_seq);
 
@@ -1357,7 +1356,7 @@
   snl.nl_family = AF_NETLINK;
 
   /* Talk to netlink socket. */
-  ret = netlink_talk (&req.n, &netlink);
+  ret = netlink_talk (&req.n, &netlink_cmd);
   if (ret < 0)
     return -1;
 
@@ -1373,7 +1372,6 @@
   struct sockaddr_nl snl;
   struct nexthop *nexthop = NULL;
   int nexthop_num = 0;
-  struct nlsock *nl;
   int discard;
 
   struct
@@ -1639,13 +1637,8 @@
   memset (&snl, 0, sizeof snl);
   snl.nl_family = AF_NETLINK;
 
-  if (family == AF_INET)
-    nl = &netlink_cmd;
-  else
-    nl = &netlink;
-
   /* Talk to netlink socket. */
-  return netlink_talk (&req.n, nl);
+  return netlink_talk (&req.n, &netlink_cmd);
 }
 
 int
