diff --git a/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch b/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
index acaadba984a4c15bdc51ec92bbc5d4dd1c806add..b84e205823017a28064c048247b0c13014044be1 100644
--- a/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
+++ b/target/linux/lantiq/patches-4.4/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
@@ -209,7 +209,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +};
 --- /dev/null
 +++ b/drivers/net/ethernet/lantiq_xrx200.c
-@@ -0,0 +1,1850 @@
+@@ -0,0 +1,1851 @@
 +/*
 + *   This program is free software; you can redistribute it and/or modify it
 + *   under the terms of the GNU General Public License version 2 as published
@@ -1262,6 +1262,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +	struct xrx200_chan *ch;
 +	struct ltq_dma_desc *desc;
 +	u32 byte_offset;
++	u16 port_map = 0;
 +	int ret = NETDEV_TX_OK;
 +	int len;
 +#ifdef SW_ROUTING
@@ -1279,8 +1280,6 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +
 +#ifdef SW_ROUTING
 +	if (is_multicast_ether_addr(eth_hdr(skb)->h_dest)) {
-+		u16 port_map = priv->port_map;
-+		special_tag |= PORT_MAP_SEL | PORT_MAP_EN;
 +		if (skb->protocol == htons(ETH_P_8021Q)) {
 +			u16 vid;
 +			int i;
@@ -1294,9 +1293,11 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +				}
 +			}
 +		}
-+		special_tag |= port_map << PORT_MAP_SHIFT;
 +	}
-+	special_tag |= priv->port_map << PORT_MAP_SHIFT;
++	if (port_map) {
++		special_tag |= (port_map << PORT_MAP_SHIFT) |
++			       PORT_MAP_SEL | PORT_MAP_EN;
++	}
 +	if(priv->wan)
 +		special_tag |= (1 << DPID_SHIFT);
 +	if(skb_headroom(skb) < 4) {
diff --git a/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch b/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
index 3c2ad4b65c3bad234341e8aa493eb0be9a26af2d..a3693ee2df47c31355400c2ae9f448825ca8b018 100644
--- a/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
+++ b/target/linux/lantiq/patches-4.9/0025-NET-MIPS-lantiq-adds-xrx200-net.patch
@@ -209,7 +209,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +};
 --- /dev/null
 +++ b/drivers/net/ethernet/lantiq_xrx200.c
-@@ -0,0 +1,1849 @@
+@@ -0,0 +1,1850 @@
 +/*
 + *   This program is free software; you can redistribute it and/or modify it
 + *   under the terms of the GNU General Public License version 2 as published
@@ -1262,6 +1262,7 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +	struct xrx200_chan *ch;
 +	struct ltq_dma_desc *desc;
 +	u32 byte_offset;
++	u16 port_map = 0;
 +	int ret = NETDEV_TX_OK;
 +	int len;
 +#ifdef SW_ROUTING
@@ -1279,8 +1280,6 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +
 +#ifdef SW_ROUTING
 +	if (is_multicast_ether_addr(eth_hdr(skb)->h_dest)) {
-+		u16 port_map = priv->port_map;
-+		special_tag |= PORT_MAP_SEL | PORT_MAP_EN;
 +		if (skb->protocol == htons(ETH_P_8021Q)) {
 +			u16 vid;
 +			int i;
@@ -1294,9 +1293,11 @@ Subject: [PATCH 25/36] NET: MIPS: lantiq: adds xrx200-net
 +				}
 +			}
 +		}
-+		special_tag |= port_map << PORT_MAP_SHIFT;
 +	}
-+	special_tag |= priv->port_map << PORT_MAP_SHIFT;
++	if (port_map) {
++		special_tag |= (port_map << PORT_MAP_SHIFT) |
++			       PORT_MAP_SEL | PORT_MAP_EN;
++	}
 +	if(priv->wan)
 +		special_tag |= (1 << DPID_SHIFT);
 +	if(skb_headroom(skb) < 4) {