diff --git a/package/gluon-mesh-vpn-core/luasrc/lib/gluon/upgrade/500-mesh-vpn b/package/gluon-mesh-vpn-core/luasrc/lib/gluon/upgrade/500-mesh-vpn
index 007645888704da5e982165db4c4ec263a471b0a2..0933d67bea11aca26049503e078e930f656080cb 100755
--- a/package/gluon-mesh-vpn-core/luasrc/lib/gluon/upgrade/500-mesh-vpn
+++ b/package/gluon-mesh-vpn-core/luasrc/lib/gluon/upgrade/500-mesh-vpn
@@ -52,7 +52,7 @@ uci:save('firewall')
 local has_fastd = unistd.access('/lib/gluon/mesh-vpn/fastd')
 local fastd_enabled = uci:get('fastd', 'mesh_vpn', 'enabled')
 
-local has_tunneldigger = unistd.access('/lib/gluon/mesh-vpn/tunneldigger')
+local has_tunneldigger = (not has_fastd) and unistd.access('/lib/gluon/mesh-vpn/tunneldigger')
 local tunneldigger_enabled = uci:get('tunneldigger', 'mesh_vpn', 'enabled')
 
 local enabled