diff --git a/protocols/bgp/server/fsm_established.go b/protocols/bgp/server/fsm_established.go
index f615b19a032f0e85e61ad744d4daede2026e19f3..2ffa19415e0d1233b5718b9127b8dbbfaaf9874b 100644
--- a/protocols/bgp/server/fsm_established.go
+++ b/protocols/bgp/server/fsm_established.go
@@ -9,6 +9,7 @@ import (
 	"github.com/bio-routing/bio-rd/protocols/bgp/packet"
 	"github.com/bio-routing/bio-rd/route"
 	"github.com/bio-routing/bio-rd/routingtable"
+	log "github.com/sirupsen/logrus"
 )
 
 type establishedState struct {
@@ -195,13 +196,15 @@ func (s *establishedState) update(msg *packet.BGPMessage) (state, string) {
 
 	switch afi {
 	case packet.IPv4AFI:
-		if s.fsm.ipv4Unicast != nil {
-			s.fsm.ipv4Unicast.processUpdate(u)
+		if s.fsm.ipv4Unicast == nil {
+			log.Warnf("Received update for family IPv4 unicast, but this family is not configured.")
 		}
+		s.fsm.ipv4Unicast.processUpdate(u)
 	case packet.IPv6AFI:
-		if s.fsm.ipv6Unicast != nil {
-			s.fsm.ipv6Unicast.processUpdate(u)
+		if s.fsm.ipv6Unicast == nil {
+			log.Warnf("Received update for family IPv6 unicast, but this family is not configured.")
 		}
+		s.fsm.ipv6Unicast.processUpdate(u)
 	}
 
 	return newEstablishedState(s.fsm), s.fsm.reason