diff --git a/ipacm/src/IPACM_Wan.cpp b/ipacm/src/IPACM_Wan.cpp
index 2d806ab..c9f84e8 100644
--- a/ipacm/src/IPACM_Wan.cpp
+++ b/ipacm/src/IPACM_Wan.cpp
@@ -3871,12 +3871,6 @@
 
 	IPACMDBG_H(" wan handle_down_evt \n");
 
-	/* no iface address up, directly close iface*/
-	if (ip_type == IPACM_IP_NULL)
-	{
-		goto fail;
-	}
-
 	/* free ODU filter rule handlers */
 	if(IPACM_Iface::ipacmcfg->iface_table[ipa_if_num].if_cat == EMBMS_IF)
 	{
@@ -3894,6 +3888,12 @@
 		goto fail;
 	}
 
+	/* no iface address up, directly close iface*/
+	if (ip_type == IPACM_IP_NULL)
+	{
+		goto fail;
+	}
+
 	if(ip_type == IPA_IP_v4)
 	{
 		num_ipv4_modem_pdn--;
@@ -4228,6 +4228,7 @@
 					IPACMERR("Error Locate ipa_flt_rule_add memory...\n");
 					return IPACM_FAILURE;
 				}
+				memset(pFilteringTable_v4, 0, len);
 				pFilteringTable_v4->commit = 1;
 				pFilteringTable_v4->ep = rx_prop->rx[0].src_pipe;
 				pFilteringTable_v4->global = false;
@@ -4250,6 +4251,7 @@
 					free(pFilteringTable_v4);
 					return IPACM_FAILURE;
 				}
+				memset(pFilteringTable_v6, 0, len);
 				pFilteringTable_v6->commit = 1;
 				pFilteringTable_v6->ep = rx_prop->rx[0].src_pipe;
 				pFilteringTable_v6->global = false;
@@ -4270,6 +4272,7 @@
 				IPACMERR("Error Locate ipa_flt_rule_add memory...\n");
 				return IPACM_FAILURE;
 			}
+			memset(pFilteringTable_v4, 0, len);
 			pFilteringTable_v4->commit = 1;
 			pFilteringTable_v4->ep = rx_prop->rx[0].src_pipe;
 			pFilteringTable_v4->global = false;
@@ -4286,6 +4289,7 @@
 				free(pFilteringTable_v4);
 				return IPACM_FAILURE;
 			}
+			memset(pFilteringTable_v6, 0, len);
 			pFilteringTable_v6->commit = 1;
 			pFilteringTable_v6->ep = rx_prop->rx[0].src_pipe;
 			pFilteringTable_v6->global = false;
