This happens when a channel is on the same server or another server.
So,  it displays the connect button when it does not have the source in its own address book, which is the case for first connection.

Ah, this makes a lot of sense. I forget the extra challenges associated with decentralized networks sometimes. There is a workaround at least, which is that you can manually enter the deleted connection's channel name into the Add new connection box on the page to recover the connection. But yeah, we should have some kind of button that always displays if there is a logical way to do it.
There's a lot of discussion in the w3c social communities about how to implement this for other protocols such as activitypub and ostatus. There are also some clever ideas emerging, and I've been waiting for the dust to settle before tackling the problem in a way that works across the board and across project boundaries.

You wouldn't happen to have any links to some of these discussions handy, would you?