diff --git a/briar-core/src/org/briarproject/properties/TransportPropertyManagerImpl.java b/briar-core/src/org/briarproject/properties/TransportPropertyManagerImpl.java
index 71c93b4fd23a84588f59afc557bfec1d0915336a..b957adab5cffdc73a86e76cedd984693a8ba41c1 100644
--- a/briar-core/src/org/briarproject/properties/TransportPropertyManagerImpl.java
+++ b/briar-core/src/org/briarproject/properties/TransportPropertyManagerImpl.java
@@ -164,6 +164,8 @@ class TransportPropertyManagerImpl implements TransportPropertyManager,
 			Transaction txn = db.startTransaction(true);
 			try {
 				for (Contact c : db.getContacts(txn)) {
+					// Don't return properties for inactive contacts
+					if (!c.isActive()) continue;
 					Group g = getContactGroup(c);
 					// Find the latest remote update
 					LatestUpdate latest = findLatest(txn, g.getId(), t, false);
diff --git a/briar-core/src/org/briarproject/transport/KeyManagerImpl.java b/briar-core/src/org/briarproject/transport/KeyManagerImpl.java
index c9fc14d13859777d9f68fcc62f23cdbc4586ad16..590343ca2cf8506b1d581b864e810db119b7ed65 100644
--- a/briar-core/src/org/briarproject/transport/KeyManagerImpl.java
+++ b/briar-core/src/org/briarproject/transport/KeyManagerImpl.java
@@ -134,9 +134,6 @@ class KeyManagerImpl implements KeyManager, Service, EventListener {
 		Transaction txn = db.startTransaction(false);
 		try {
 			ctx = m.getStreamContext(txn, tag);
-			// Activate the contact if not already active
-			if (ctx != null && !activeContacts.containsKey(ctx.getContactId()))
-				db.setContactActive(txn, ctx.getContactId(), true);
 			txn.setComplete();
 		} finally {
 			db.endTransaction(txn);