diff --git a/protocols/bgp/server/peer.go b/protocols/bgp/server/peer.go
index 7e33cd5c1462d5ce21df9005300e18720b6e1159..02cf053bf000c5d1dd232c2243b7b617062a8fcf 100644
--- a/protocols/bgp/server/peer.go
+++ b/protocols/bgp/server/peer.go
@@ -126,6 +126,12 @@ func newPeer(c config.Peer, rib *locRIB.LocRIB, server *bgpServer) (*peer, error
 		routeReflectorClient: c.RouteReflectorClient,
 		clusterID:            c.RouteReflectorClusterID,
 	}
+
+	// If we are a route reflector and no ClusterID was set, use our RouterID
+	if p.routeReflectorClient && p.clusterID == 0 {
+		p.clusterID = c.RouterID
+	}
+
 	p.fsms = append(p.fsms, NewActiveFSM2(p))
 
 	caps := make(packet.Capabilities, 0)