diff --git a/src/peer.cpp b/src/peer.cpp
index 3b97d72ff65701894db2c86dcd5cf434ef1e6ab1..afa7c7ce1600297e8d8f67e5f8e7bf2661a44ffb 100644
--- a/src/peer.cpp
+++ b/src/peer.cpp
@@ -204,7 +204,7 @@ void Peer::rawClose() {
 
 void Peer::close(bool retry) {
 	// Attempt to inform about disconnect
-	if (sock_->is_valid()) { send("__disconnect__"); }
+	if (sock_->is_valid() && status_ == NodeStatus::kConnected) { send("__disconnect__"); }
 
 	UNIQUE_LOCK(send_mtx_, lk_send);
 	//UNIQUE_LOCK(recv_mtx_, lk_recv);