diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxManagerImpl.java
index 582788dcdb4b012c39317037eec881a53635118b..5caa90198b120334b46cd23d3b5bc0a23f8851e1 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxManagerImpl.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxManagerImpl.java
@@ -174,16 +174,16 @@ public class MailboxManagerImpl implements MailboxManager {
 
 			ioExecutor.execute(mailboxProtocol);
 
-			try {
-				mailboxSession.run();
-				mailboxProtocol.stop();
-				disposeConnection(false);
-			} catch (IOException e) {
-				logException(LOG, WARNING, e);
-			} finally {
-				connectionRegistry
-						.unregisterConnection(contactId, MailboxConstants.ID, incoming);
-			}
+
+			mailboxSession.run();
+			mailboxProtocol.stop();
+
+			disposeConnection(false);
+
+			connectionRegistry
+					.unregisterConnection(contactId, MailboxConstants.ID,
+							incoming);
+
 		}
 
 		private void handleOutgoingStream() throws DbException, IOException {
@@ -221,10 +221,10 @@ public class MailboxManagerImpl implements MailboxManager {
 				throw new IOException(
 						"Unrecognised tag for returning stream");
 
-			if (!incomingCtx.getContactId().equals(contactId)) {
+			if (!incomingCtx.getContactId().equals(contactId))
 				throw new IOException(
 						"ContactId for Incoming stream does not match expected ContactId");
-			}
+
 		}
 
 		private void handleIncomingStream() throws IOException {
@@ -238,7 +238,6 @@ public class MailboxManagerImpl implements MailboxManager {
 		}
 
 		private void disposeConnection(boolean exception) {
-			// Interrupt the outgoing session so it finishes cleanly
 			try {
 				reader.dispose(exception, incomingCtx != null);
 				writer.dispose(exception);