diff --git a/main.go b/main.go
index d717d0a29eed085cf3bb1228212bd5b62bbe4e32..49d19c0f0f76019ae6f522b5f82e0262b5ec99a9 100644
--- a/main.go
+++ b/main.go
@@ -38,7 +38,7 @@ func main() {
 		PeerAddress:       net.IP([]byte{169, 254, 200, 1}),
 		LocalAddress:      net.IP([]byte{169, 254, 200, 0}),
 		ReconnectInterval: time.Second * 15,
-		HoldTimer:         time.Second * 90,
+		HoldTime:          time.Second * 90,
 		KeepAlive:         time.Second * 30,
 		Passive:           true,
 		RouterID:          b.RouterID(),
@@ -56,7 +56,7 @@ func main() {
 		PeerAddress:       net.IP([]byte{169, 254, 100, 0}),
 		LocalAddress:      net.IP([]byte{169, 254, 100, 1}),
 		ReconnectInterval: time.Second * 15,
-		HoldTimer:         time.Second * 90,
+		HoldTime:          time.Second * 90,
 		KeepAlive:         time.Second * 30,
 		Passive:           true,
 		RouterID:          b.RouterID(),
diff --git a/protocols/bgp/server/fsm2.go b/protocols/bgp/server/fsm2.go
index b365e41c61f42486b0ea00c94c93f0f82c021d02..1bd789b3df2d68a08380a87382c91fa480b6a42d 100644
--- a/protocols/bgp/server/fsm2.go
+++ b/protocols/bgp/server/fsm2.go
@@ -57,7 +57,6 @@ type FSM2 struct {
 	capAddPathRecv bool
 
 	local net.IP
-	//remote net.IP
 
 	ribsInitialized bool
 	adjRIBIn        routingtable.RouteTableClient
diff --git a/protocols/bgp/server/fsm_open_sent.go b/protocols/bgp/server/fsm_open_sent.go
index 5504a525f3c4d0f6569aed80579eb5b2da29fec7..cf628699e22bd85266bc4f9a77eb07a098e50c2c 100644
--- a/protocols/bgp/server/fsm_open_sent.go
+++ b/protocols/bgp/server/fsm_open_sent.go
@@ -106,7 +106,9 @@ func (s *openSentState) openMsgReceived(msg *packet.BGPMessage) (state, string)
 	openMsg := msg.Body.(*packet.BGPOpen)
 	s.fsm.neighborID = openMsg.BGPIdentifier
 	stopTimer(s.fsm.connectRetryTimer)
-	s.fsm.peer.collisionHandling(s.fsm)
+	if s.fsm.peer.collisionHandling(s.fsm) {
+		return s.cease()
+	}
 	err := s.fsm.sendKeepalive()
 	if err != nil {
 		return s.tcpFailure()
diff --git a/protocols/bgp/server/server.go b/protocols/bgp/server/server.go
index bd1f662b470b7a02220bb14010b85e5aa3835683..fef8b4e419d3b071ee9235620f85a0f0254d83f0 100644
--- a/protocols/bgp/server/server.go
+++ b/protocols/bgp/server/server.go
@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"io"
 	"net"
+	"strings"
 
 	"github.com/bio-routing/bio-rd/config"
 	"github.com/bio-routing/bio-rd/protocols/bgp/packet"
@@ -60,10 +61,7 @@ func (b *BGPServer) Start(c *config.Global) error {
 
 func (b *BGPServer) incomingConnectionWorker() {
 	for {
-		// Disabled. We're active only for now.
-		/*c := <-b.acceptCh
-		fmt.Printf("Incoming connection!\n")
-		fmt.Printf("Connection from: %v\n", c.RemoteAddr())
+		c := <-b.acceptCh
 
 		peerAddr := strings.Split(c.RemoteAddr().String(), ":")[0]
 		if _, ok := b.peers[peerAddr]; !ok {
@@ -79,19 +77,16 @@ func (b *BGPServer) incomingConnectionWorker() {
 		}).Info("Incoming TCP connection")
 
 		log.WithField("Peer", peerAddr).Debug("Sending incoming TCP connection to fsm for peer")
-		fmt.Printf("Initiating new ActiveFSM due to incoming connection from peer %s\n", peerAddr)
 		fsm := NewActiveFSM2(b.peers[peerAddr])
 		fsm.state = newActiveState(fsm)
 		fsm.startConnectRetryTimer()
 
-		fmt.Printf("Getting lock...\n")
 		b.peers[peerAddr].fsmsMu.Lock()
 		b.peers[peerAddr].fsms = append(b.peers[peerAddr].fsms, fsm)
-		fmt.Printf("Releasing lock...\n")
 		b.peers[peerAddr].fsmsMu.Unlock()
 
 		go fsm.run()
-		fsm.conCh <- c*/
+		fsm.conCh <- c
 	}
 }