diff --git a/protocols/bgp/server/bmp_neighbor_manager.go b/protocols/bgp/server/bmp_neighbor_manager.go
index 86c2898f78acb271f48f434757127fc3b198b03d..fb0affa274d9b98a054fce1562bd7dc84e8d07c2 100644
--- a/protocols/bgp/server/bmp_neighbor_manager.go
+++ b/protocols/bgp/server/bmp_neighbor_manager.go
@@ -75,8 +75,8 @@ func (nm *neighborManager) disposeAll() {
 	nm.neighborsMu.Lock()
 	defer nm.neighborsMu.Unlock()
 
-	for i := range nm.neighbors {
-		nm._neighborDown(nm.neighbors[i].vrfID, nm.neighbors[i].peerAddress)
+	for len(nm.neighbors) > 0 {
+		nm._neighborDown(nm.neighbors[0].vrfID, nm.neighbors[0].peerAddress)
 	}
 }