diff --git a/pkg/vpn/bonafide/gateways.go b/pkg/vpn/bonafide/gateways.go
index d8f12ecffb6de732ee990ab5ede2453de86d19fa..a0d41fbbc6de85e395bf5029f2034dbee8f29e3b 100644
--- a/pkg/vpn/bonafide/gateways.go
+++ b/pkg/vpn/bonafide/gateways.go
@@ -150,10 +150,10 @@ func (p *gatewayPool) getGatewaysFromMenshenByLocation(location, transport strin
 
 	var gateways []Gateway
 	for _, gw := range p.recommended {
-		if !gw.gateway.isTransport(transport) {
-			continue
-		}
 		for _, locatedGw := range gws {
+			if !locatedGw.isTransport(transport) {
+				continue
+			}
 			if locatedGw.Host == gw.gateway.Host {
 				gateways = append(gateways, *locatedGw)
 				break