diff --git a/package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/010-mesh-vpn-fastd b/package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/010-mesh-vpn-fastd
index 13342d325f4d27645d1ec6823af3b08adf668e56..4697762cffed15e847c89ed0a0064ef092376b09 100755
--- a/package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/010-mesh-vpn-fastd
+++ b/package/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/010-mesh-vpn-fastd
@@ -39,12 +39,10 @@ c:section('fastd', 'peer_group', 'mesh_vpn_backbone',
 	  }
 )
 
-c:foreach('fastd', 'peer',
-  function(peer)
-    if peer.net == 'mesh_vpn' and peer.group == 'mesh_vpn_backbone' then
-      c:delete('fastd', peer['.name'])
-    end
-  end
+c:delete_all('fastd', 'peer',
+	     function(peer)
+	       return peer.net == 'mesh_vpn' and peer.group == 'mesh_vpn_backbone'
+	     end
 )
 
 for name, config in pairs(site.fastd_mesh_vpn.backbone.peers) do