diff --git a/protocols/bgp/server/fsm_address_family.go b/protocols/bgp/server/fsm_address_family.go
index f59d41030ac94e46fd96176f568040e54483e3d3..82d4728add789e41f03979f4dbb53f231720b2b7 100644
--- a/protocols/bgp/server/fsm_address_family.go
+++ b/protocols/bgp/server/fsm_address_family.go
@@ -84,6 +84,8 @@ func (f *fsmAddressFamily) bmpInit() {
 	if f.rib != nil {
 		f.adjRIBIn.Register(f.rib)
 	}
+
+	f.initialized = true
 }
 
 func (f *fsmAddressFamily) bmpDispose() {
diff --git a/protocols/bgp/server/fsm_established.go b/protocols/bgp/server/fsm_established.go
index 3722bd3364a79b051e786f2f1ecb6dd84798bf01..15bbe7877a87e8a6aa73c1042370317523ed1199 100644
--- a/protocols/bgp/server/fsm_established.go
+++ b/protocols/bgp/server/fsm_established.go
@@ -108,6 +108,8 @@ func (s *establishedState) uninit() {
 	}
 
 	s.fsm.counters.reset()
+
+	s.fsm.ribsInitialized = false
 }
 
 func (s *establishedState) manualStop() (state, string) {