diff --git a/route/bgp.go b/route/bgp.go
index e56b140b4bea79f00125a020c5f05b61aceb7279..847964f913645397ffbab534c73cafd3f7b0d9c9 100644
--- a/route/bgp.go
+++ b/route/bgp.go
@@ -77,6 +77,14 @@ func (b *BGPPath) Compare(c *BGPPath) int8 {
 		return -1
 	}
 
+	if c.NextHop < b.NextHop {
+		return 1
+	}
+
+	if c.NextHop > b.NextHop {
+		return -1
+	}
+
 	return 0
 }
 
@@ -132,10 +140,6 @@ func (b *BGPPath) better(c *BGPPath) bool {
 	return false
 }
 
-func (b *BGPPath) ecmp(c *BGPPath) bool {
-	return b.LocalPref == c.LocalPref && b.ASPathLen == c.ASPathLen && b.Origin == c.Origin && b.MED == c.MED
-}
-
 func (b *BGPPath) Print() string {
 	origin := ""
 	switch b.Origin {