diff --git a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java index 60d7ea0ab3d4edc0e7c05a18bf89b708c512defe..fb71f9a778b9c974dcdc14eea7adf0fd4216c2f9 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/contact/ContactExchangeTaskImpl.java @@ -241,12 +241,17 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask { // Add the contact ContactId contactId = addContact(remoteInfo.getAuthor(), timestamp, remoteInfo.getProperties()); - // Reuse the connection as a transport connection - connectionManager.manageOutgoingConnection(contactId, transportId, - conn); // Pseudonym exchange succeeded LOG.info("Pseudonym exchange succeeded"); listener.contactExchangeSucceeded(remoteInfo.getAuthor()); + // Reuse the connection as a transport connection + if (localType == CONTACT) { + connectionManager + .manageOutgoingConnection(contactId, transportId, + conn); + } else { + tryToClose(conn); + } } catch (ContactExistsException e) { logException(LOG, WARNING, e); tryToClose(conn);