diff --git a/src/vpp-api/vom/acl_list.cpp b/src/vpp-api/vom/acl_list.cpp
index 9733278..557de51 100644
--- a/src/vpp-api/vom/acl_list.cpp
+++ b/src/vpp-api/vom/acl_list.cpp
@@ -92,6 +92,14 @@
                                 payload.r[ii].dst_ip_prefix_len);
       l3_rule rule(ii, action_t::from_int(payload.r[ii].is_permit), src, dst);
 
+      rule.set_proto(payload.r[ii].proto);
+      rule.set_src_from_port(payload.r[ii].srcport_or_icmptype_first);
+      rule.set_src_to_port(payload.r[ii].srcport_or_icmptype_last);
+      rule.set_dst_from_port(payload.r[ii].dstport_or_icmpcode_first);
+      rule.set_dst_to_port(payload.r[ii].dstport_or_icmpcode_last);
+      rule.set_tcp_flags_mask(payload.r[ii].tcp_flags_mask);
+      rule.set_tcp_flags_value(payload.r[ii].tcp_flags_value);
+
       acl.insert(rule);
     }
     VOM_LOG(log_level_t::DEBUG) << "dump: " << acl.to_string();
@@ -169,6 +177,7 @@
 l3_list::replay(void)
 {
   if (m_hdl) {
+    m_hdl.data().reset();
     HW::enqueue(new list_cmds::l3_update_cmd(m_hdl, m_key, m_rules));
   }
 }
@@ -177,6 +186,7 @@
 l2_list::replay(void)
 {
   if (m_hdl) {
+    m_hdl.data().reset();
     HW::enqueue(new list_cmds::l2_update_cmd(m_hdl, m_key, m_rules));
   }
 }
diff --git a/src/vpp-api/vom/types.cpp b/src/vpp-api/vom/types.cpp
index 9df5314..4f88846 100644
--- a/src/vpp-api/vom/types.cpp
+++ b/src/vpp-api/vom/types.cpp
@@ -94,6 +94,12 @@
   return (m_value);
 }
 
+void
+handle_t::reset()
+{
+  m_value = ~0;
+}
+
 std::ostream&
 operator<<(std::ostream& os, const handle_t& h)
 {
diff --git a/src/vpp-api/vom/types.hpp b/src/vpp-api/vom/types.hpp
index 61a25e7..4deb6c4 100644
--- a/src/vpp-api/vom/types.hpp
+++ b/src/vpp-api/vom/types.hpp
@@ -203,6 +203,11 @@
    */
   uint32_t value() const;
 
+  /**
+   * reset the value of the handle to ~0
+   */
+  void reset();
+
 private:
   /**
    * VPP's handle value
