diff --git a/server.go b/server.go
index <HASH>..<HASH> 100644
--- a/server.go
+++ b/server.go
@@ -1125,10 +1125,17 @@ func (s *server) handleConnectPeer(msg *connectPeerMsg) {
 	// persistent connection to the peer.
 	srvrLog.Debugf("Connecting to %v", addr)
 	if msg.persistent {
-		go s.connMgr.Connect(&connmgr.ConnReq{
+		connReq := &connmgr.ConnReq{
 			Addr:      addr,
 			Permanent: true,
-		})
+		}
+
+		s.pendingConnMtx.Lock()
+		s.persistentConnReqs[targetPub] = append(s.persistentConnReqs[targetPub],
+			connReq)
+		s.pendingConnMtx.Unlock()
+
+		go s.connMgr.Connect(connReq)
 		msg.err <- nil
 	} else {
 		// If we're not making a persistent connection, then we'll
server: fix regression in handling persistent connection requesrts

This commit fixes a bug that was introduced when the concurrent
connection handling logic was re-written: if we don’t properly add the
persistent outbound connection to the persistent conn reqs map. The fix
is easy: add the pending conn req to the proper map.