diff --git a/protocols/bgp/server/fsm.go b/protocols/bgp/server/fsm.go
index f747f9b9431a00d51b58eadba3dabff7ff10459e..3bf5795120a7627c1126e3c5bd94c5f490d43e04 100644
--- a/protocols/bgp/server/fsm.go
+++ b/protocols/bgp/server/fsm.go
@@ -295,9 +295,8 @@ func (fsm *FSM) startConnectRetryTimer() {
 }
 
 func (fsm *FSM) resetConnectRetryTimer() {
-	if !fsm.connectRetryTimer.Reset(fsm.connectRetryTime) {
-		<-fsm.connectRetryTimer.C
-	}
+	stopTimer(fsm.connectRetryTimer)
+	fsm.connectRetryTimer.Reset(fsm.connectRetryTime)
 }
 
 func (fsm *FSM) resetConnectRetryCounter() {