diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index b3710cf..38824a2 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,7 @@
+2005-01-24 Martin Pot <mpot at martybugs.net>
+
+	* zebra/rt_netlink.c: ignore wireless newlink netlink messages.
+
 2005-01-18 Hasso Tepper <hasso at quagga.net>
 
 	* interface.c: Better statistics output in "show interface" command in
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index c636a39..f5903a6 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -480,6 +480,15 @@
   /* Looking up interface name. */
   memset (tb, 0, sizeof tb);
   netlink_parse_rtattr (tb, IFLA_MAX, IFLA_RTA (ifi), len);
+  
+  /* check for wireless messages to ignore */
+  if ((tb[IFLA_WIRELESS] != NULL) && (ifi->ifi_change == 0))
+    {
+      if (IS_ZEBRA_DEBUG_KERNEL)
+        zlog_debug ("%s: ignoring IFLA_WIRELESS message", __func__);
+      return 0;
+    }
+
   if (tb[IFLA_IFNAME] == NULL)
     return -1;
   name = (char *) RTA_DATA (tb[IFLA_IFNAME]);
@@ -938,6 +947,15 @@
   /* Looking up interface name. */
   memset (tb, 0, sizeof tb);
   netlink_parse_rtattr (tb, IFLA_MAX, IFLA_RTA (ifi), len);
+
+  /* check for wireless messages to ignore */
+  if ((tb[IFLA_WIRELESS] != NULL) && (ifi->ifi_change == 0))
+    {
+      if (IS_ZEBRA_DEBUG_KERNEL)
+        zlog_debug ("%s: ignoring IFLA_WIRELESS message", __func__);
+      return 0;
+    }
+  
   if (tb[IFLA_IFNAME] == NULL)
     return -1;
   name = (char *) RTA_DATA (tb[IFLA_IFNAME]);
