diff --git a/proto/bgp/packets.c b/proto/bgp/packets.c
index ab87bdcc..66bfe62a 100644
--- a/proto/bgp/packets.c
+++ b/proto/bgp/packets.c
@@ -1163,7 +1163,7 @@ bgp_set_next_hop(struct bgp_proto *p, rta *a)
       neighbor *ng = NULL;
 
       if (ipa_nonzero(*nexthop))
-	ng = neigh_find(&p->p, nexthop, 0);
+	ng = neigh_find2(&p->p, nexthop, p->neigh->iface, 0);
       else if (second)	/* GW_DIRECT -> single_hop -> p->neigh != NULL */
 	ng = neigh_find2(&p->p, nexthop + 1, p->neigh->iface, 0);
 
