diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/properties/TransportPropertyManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/properties/TransportPropertyManager.java
index a634bfaa74abac3057cdb548e01c4f8dee5e85d3..f7b98237db6e8eb4f844dbdd17240a65bd86a6a5 100644
--- a/bramble-api/src/main/java/org/briarproject/bramble/api/properties/TransportPropertyManager.java
+++ b/bramble-api/src/main/java/org/briarproject/bramble/api/properties/TransportPropertyManager.java
@@ -40,6 +40,12 @@ public interface TransportPropertyManager {
 	Map<TransportId, TransportProperties> getLocalProperties()
 			throws DbException;
 
+	/**
+	 * Returns the local anonymized transport properties for all transports.
+	 */
+	Map<TransportId, TransportProperties> getLocalAnonymizedProperties()
+			throws DbException;
+
 	/**
 	 * Returns the local transport properties for all transports.
 	 * <p/>
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 9de67f743031cffe05e41a489f82536c29acda4c..60d7ea0ab3d4edc0e7c05a18bf89b708c512defe 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
@@ -47,6 +47,7 @@ import javax.inject.Inject;
 
 import static java.util.logging.Level.WARNING;
 import static org.briarproject.bramble.api.contact.ContactType.CONTACT;
+import static org.briarproject.bramble.api.contact.ContactType.MAILBOX_OWNER;
 import static org.briarproject.bramble.api.contact.RecordTypes.CONTACT_INFO;
 import static org.briarproject.bramble.api.identity.AuthorConstants.MAX_SIGNATURE_LENGTH;
 import static org.briarproject.bramble.util.LogUtils.logException;
@@ -150,7 +151,11 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask {
 		// Get the local transport properties
 		Map<TransportId, TransportProperties> localProperties;
 		try {
-			localProperties = transportPropertyManager.getLocalProperties();
+			if (localType == MAILBOX_OWNER)
+				localProperties =
+						transportPropertyManager.getLocalAnonymizedProperties();
+			else
+				localProperties = transportPropertyManager.getLocalProperties();
 		} catch (DbException e) {
 			logException(LOG, WARNING, e);
 			listener.contactExchangeFailed();
@@ -332,8 +337,6 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask {
 					contactId = contactManager.addContact(txn, remoteAuthor,
 							localAuthor.getId(), masterSecret, timestamp, alice,
 							true, true);
-					transportPropertyManager.addRemoteProperties(txn, contactId,
-							remoteProperties);
 					break;
 				case MAILBOX_OWNER:
 					contactId =
@@ -346,12 +349,12 @@ class ContactExchangeTaskImpl extends Thread implements ContactExchangeTask {
 							contactManager.addPrivateMailbox(txn, remoteAuthor,
 									localAuthor.getId(), masterSecret,
 									timestamp, alice);
-					transportPropertyManager.addRemoteProperties(txn, contactId,
-							remoteProperties);
 					break;
 				default:
 					throw new RuntimeException("Invalid remote contact type");
 			}
+			transportPropertyManager.addRemoteProperties(txn, contactId,
+					remoteProperties);
 
 			db.commitTransaction(txn);
 		} finally {
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/properties/TransportPropertyManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/properties/TransportPropertyManagerImpl.java
index e76961b9fe22a28d948a26cb91dacb7a19e7a637..0b5015deef68c36440b89479c6a1f68fb3c1259d 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/properties/TransportPropertyManagerImpl.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/properties/TransportPropertyManagerImpl.java
@@ -147,6 +147,16 @@ class TransportPropertyManagerImpl implements TransportPropertyManager,
 		}
 	}
 
+	@Override
+	public Map<TransportId, TransportProperties> getLocalAnonymizedProperties()
+			throws DbException {
+		Map<TransportId, TransportProperties> properties = getLocalProperties();
+		for (Entry e : properties.entrySet()) {
+			e.setValue("");
+		}
+		return properties;
+	}
+
 	@Override
 	public Map<TransportId, TransportProperties> getLocalProperties()
 			throws DbException {