diff --git a/protocols/bgp/server/fsm_established.go b/protocols/bgp/server/fsm_established.go
index 3c5d96055663e167fc3e451ce03bed2340c757b7..80a47e7e2cfc22e2e1e721fcc312ea8dcad1eb7e 100644
--- a/protocols/bgp/server/fsm_established.go
+++ b/protocols/bgp/server/fsm_established.go
@@ -257,6 +257,8 @@ func (s *establishedState) newRoutePath() *route.Path {
 }
 
 func (s *establishedState) multiProtocolUpdate(path *route.Path, nlri packet.MultiProtocolReachNLRI) {
+	path.BGPPath.NextHop = nlri.NextHop
+
 	for _, pfx := range nlri.Prefixes {
 		s.fsm.adjRIBIn.AddPath(pfx, path)
 	}