diff --git a/components/net/sf/briar/transport/KeyManagerImpl.java b/components/net/sf/briar/transport/KeyManagerImpl.java
index b6afd7d5b1d4a0783e6c0fc57101e66b64141c38..97aa506f3c6badfe2d88e0e998b6618f31759a1c 100644
--- a/components/net/sf/briar/transport/KeyManagerImpl.java
+++ b/components/net/sf/briar/transport/KeyManagerImpl.java
@@ -46,9 +46,6 @@ class KeyManagerImpl extends TimerTask implements KeyManager, DatabaseListener {
 	// Locking: this
 	private final Map<ContactTransportKey, TemporarySecret> incomingNew;
 
-	// Locking: this
-	private boolean running = false;
-
 	@Inject
 	public KeyManagerImpl(CryptoComponent crypto, DatabaseComponent db,
 			ConnectionRecogniser recogniser) {
@@ -62,7 +59,6 @@ class KeyManagerImpl extends TimerTask implements KeyManager, DatabaseListener {
 	}
 
 	public synchronized boolean start() {
-		if(running) return false;
 		Collection<TemporarySecret> secrets;
 		try {
 			secrets = db.getSecrets();
@@ -89,7 +85,6 @@ class KeyManagerImpl extends TimerTask implements KeyManager, DatabaseListener {
 		for(TemporarySecret s : incomingNew.values()) recogniser.addSecret(s);
 		// Schedule periodic key rotation
 		timer.scheduleAtFixedRate(this, MS_BETWEEN_CHECKS, MS_BETWEEN_CHECKS);
-		running = true;
 		return true;
 	}
 
@@ -196,13 +191,11 @@ class KeyManagerImpl extends TimerTask implements KeyManager, DatabaseListener {
 	}
 
 	public synchronized void stop() {
-		if(!running) return;
 		timer.cancel();
 		recogniser.removeSecrets();
 		removeAndEraseSecrets(outgoing);
 		removeAndEraseSecrets(incomingOld);
 		removeAndEraseSecrets(incomingNew);
-		running = false;
 	}
 
 	// Locking: this