diff --git a/api/net/sf/briar/api/plugins/duplex/DuplexPluginFactory.java b/api/net/sf/briar/api/plugins/duplex/DuplexPluginFactory.java
index c790dc9b6e78518a33b2429e4752c247bbee0b67..5d9609ff902d44b0401d635f546b0a57f3dfa8f4 100644
--- a/api/net/sf/briar/api/plugins/duplex/DuplexPluginFactory.java
+++ b/api/net/sf/briar/api/plugins/duplex/DuplexPluginFactory.java
@@ -2,10 +2,8 @@ package net.sf.briar.api.plugins.duplex;
 
 import java.util.concurrent.Executor;
 
-import net.sf.briar.clock.Clock;
-
 public interface DuplexPluginFactory {
 
-	DuplexPlugin createPlugin(Executor pluginExecutor, Clock clock,
+	DuplexPlugin createPlugin(Executor pluginExecutor,
 			DuplexPluginCallback callback);
 }
diff --git a/api/net/sf/briar/api/plugins/simplex/SimplexPluginFactory.java b/api/net/sf/briar/api/plugins/simplex/SimplexPluginFactory.java
index 1da8775230790b39ef7950f2fce1c0d2b99514b4..d114ec376b08928d9fed433e896899a052d8b149 100644
--- a/api/net/sf/briar/api/plugins/simplex/SimplexPluginFactory.java
+++ b/api/net/sf/briar/api/plugins/simplex/SimplexPluginFactory.java
@@ -2,10 +2,8 @@ package net.sf.briar.api.plugins.simplex;
 
 import java.util.concurrent.Executor;
 
-import net.sf.briar.clock.Clock;
-
 public interface SimplexPluginFactory {
 
-	SimplexPlugin createPlugin(Executor pluginExecutor, Clock clock,
+	SimplexPlugin createPlugin(Executor pluginExecutor,
 			SimplexPluginCallback callback);
 }
diff --git a/components/net/sf/briar/plugins/PluginManagerImpl.java b/components/net/sf/briar/plugins/PluginManagerImpl.java
index 0da6aef13ff39374c80a71902454d678820465ee..ab05b6de48f47c5fe0bec1a36ec412a67c3f0c4e 100644
--- a/components/net/sf/briar/plugins/PluginManagerImpl.java
+++ b/components/net/sf/briar/plugins/PluginManagerImpl.java
@@ -35,7 +35,6 @@ import net.sf.briar.api.protocol.TransportId;
 import net.sf.briar.api.protocol.TransportIndex;
 import net.sf.briar.api.transport.ConnectionDispatcher;
 import net.sf.briar.api.ui.UiCallback;
-import net.sf.briar.clock.Clock;
 
 import com.google.inject.Inject;
 
@@ -55,7 +54,6 @@ class PluginManagerImpl implements PluginManager {
 	};
 
 	private final ExecutorService pluginExecutor;
-	private final Clock clock;
 	private final DatabaseComponent db;
 	private final Poller poller;
 	private final ConnectionDispatcher dispatcher;
@@ -65,10 +63,9 @@ class PluginManagerImpl implements PluginManager {
 
 	@Inject
 	PluginManagerImpl(@PluginExecutor ExecutorService pluginExecutor,
-			Clock clock, DatabaseComponent db, Poller poller,
+			DatabaseComponent db, Poller poller,
 			ConnectionDispatcher dispatcher, UiCallback uiCallback) {
 		this.pluginExecutor = pluginExecutor;
-		this.clock = clock;
 		this.db = db;
 		this.poller = poller;
 		this.dispatcher = dispatcher;
@@ -91,7 +88,7 @@ class PluginManagerImpl implements PluginManager {
 						(SimplexPluginFactory) c.newInstance();
 				SimplexCallback callback = new SimplexCallback();
 				SimplexPlugin plugin = factory.createPlugin(pluginExecutor,
-						clock, callback);
+						callback);
 				if(plugin == null) {
 					if(LOG.isLoggable(Level.INFO)) {
 						LOG.info(factory.getClass().getSimpleName()
@@ -131,7 +128,7 @@ class PluginManagerImpl implements PluginManager {
 						(DuplexPluginFactory) c.newInstance();
 				DuplexCallback callback = new DuplexCallback();
 				DuplexPlugin plugin = factory.createPlugin(pluginExecutor,
-						clock, callback);
+						callback);
 				if(plugin == null) {
 					if(LOG.isLoggable(Level.INFO)) {
 						LOG.info(factory.getClass().getSimpleName()
diff --git a/components/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java b/components/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java
index 1b138c0041c38eaf9e390ae1f7ec5047d8b31758..c1b49e2431b8114a4940172b9b222d14da532d28 100644
--- a/components/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java
+++ b/components/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java
@@ -6,15 +6,15 @@ import net.sf.briar.api.plugins.PluginExecutor;
 import net.sf.briar.api.plugins.duplex.DuplexPlugin;
 import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
 import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
-import net.sf.briar.clock.Clock;
+import net.sf.briar.clock.SystemClock;
 
 public class BluetoothPluginFactory implements DuplexPluginFactory {
 
 	private static final long POLLING_INTERVAL = 3L * 60L * 1000L; // 3 mins
 
 	public DuplexPlugin createPlugin(@PluginExecutor Executor pluginExecutor,
-			Clock clock, DuplexPluginCallback callback) {
-		return new BluetoothPlugin(pluginExecutor, clock, callback,
+			DuplexPluginCallback callback) {
+		return new BluetoothPlugin(pluginExecutor, new SystemClock(), callback,
 				POLLING_INTERVAL);
 	}
 }
diff --git a/components/net/sf/briar/plugins/email/GmailPluginFactory.java b/components/net/sf/briar/plugins/email/GmailPluginFactory.java
index 4b912e28d05be5f98f4a62d9e7598927959201b1..244a89373d3b91c62e38f2cae87c279fa5a12590 100644
--- a/components/net/sf/briar/plugins/email/GmailPluginFactory.java
+++ b/components/net/sf/briar/plugins/email/GmailPluginFactory.java
@@ -5,11 +5,10 @@ import java.util.concurrent.Executor;
 import net.sf.briar.api.plugins.simplex.SimplexPlugin;
 import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
 import net.sf.briar.api.plugins.simplex.SimplexPluginFactory;
-import net.sf.briar.clock.Clock;
 
 public class GmailPluginFactory implements SimplexPluginFactory {
 
-	public SimplexPlugin createPlugin(Executor pluginExecutor, Clock clock,
+	public SimplexPlugin createPlugin(Executor pluginExecutor,
 			SimplexPluginCallback callback) {
 		
 		return new GmailPlugin(pluginExecutor, callback);
diff --git a/components/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java b/components/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java
index 6a453f559b485f26903b1eff9e56ad4f3bbf05bf..689efc8502309661b750717957f3d724e71e07de 100644
--- a/components/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java
+++ b/components/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java
@@ -6,7 +6,6 @@ import net.sf.briar.api.plugins.PluginExecutor;
 import net.sf.briar.api.plugins.simplex.SimplexPlugin;
 import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
 import net.sf.briar.api.plugins.simplex.SimplexPluginFactory;
-import net.sf.briar.clock.Clock;
 import net.sf.briar.util.OsUtils;
 
 public class RemovableDrivePluginFactory implements SimplexPluginFactory {
@@ -14,7 +13,7 @@ public class RemovableDrivePluginFactory implements SimplexPluginFactory {
 	private static final long POLLING_INTERVAL = 10L * 1000L; // 10 seconds
 
 	public SimplexPlugin createPlugin(@PluginExecutor Executor pluginExecutor,
-			Clock clock, SimplexPluginCallback callback) {
+			SimplexPluginCallback callback) {
 		RemovableDriveFinder finder;
 		RemovableDriveMonitor monitor;
 		if(OsUtils.isLinux()) {
diff --git a/components/net/sf/briar/plugins/socket/SimpleSocketPluginFactory.java b/components/net/sf/briar/plugins/socket/SimpleSocketPluginFactory.java
index 9ee36419eb123836b81aacaef39b882c9012bb49..d8499fb32e8c16173ef8ee10f37414b3d46a1ce1 100644
--- a/components/net/sf/briar/plugins/socket/SimpleSocketPluginFactory.java
+++ b/components/net/sf/briar/plugins/socket/SimpleSocketPluginFactory.java
@@ -6,14 +6,13 @@ import net.sf.briar.api.plugins.PluginExecutor;
 import net.sf.briar.api.plugins.duplex.DuplexPlugin;
 import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
 import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
-import net.sf.briar.clock.Clock;
 
 public class SimpleSocketPluginFactory implements DuplexPluginFactory {
 
 	private static final long POLLING_INTERVAL = 5L * 60L * 1000L; // 5 mins
 
 	public DuplexPlugin createPlugin(@PluginExecutor Executor pluginExecutor,
-			Clock clock, DuplexPluginCallback callback) {
+			DuplexPluginCallback callback) {
 		return new SimpleSocketPlugin(pluginExecutor, callback,
 				POLLING_INTERVAL);
 	}
diff --git a/components/net/sf/briar/plugins/tor/TorPluginFactory.java b/components/net/sf/briar/plugins/tor/TorPluginFactory.java
index 78cd3d5e923f4ed5fbe37ebf1636549c6416c78d..e7caf6aa195a70df7ec528e3da811c7d19957a2a 100644
--- a/components/net/sf/briar/plugins/tor/TorPluginFactory.java
+++ b/components/net/sf/briar/plugins/tor/TorPluginFactory.java
@@ -6,14 +6,13 @@ import net.sf.briar.api.plugins.PluginExecutor;
 import net.sf.briar.api.plugins.duplex.DuplexPlugin;
 import net.sf.briar.api.plugins.duplex.DuplexPluginCallback;
 import net.sf.briar.api.plugins.duplex.DuplexPluginFactory;
-import net.sf.briar.clock.Clock;
 
 public class TorPluginFactory implements DuplexPluginFactory {
 
 	private static final long POLLING_INTERVAL = 15L * 60L * 1000L; // 15 mins
 
 	public DuplexPlugin createPlugin(@PluginExecutor Executor pluginExecutor,
-			Clock clock, DuplexPluginCallback callback) {
+			DuplexPluginCallback callback) {
 		return new TorPlugin(pluginExecutor, callback, POLLING_INTERVAL);
 	}
 }
diff --git a/test/net/sf/briar/plugins/PluginManagerImplTest.java b/test/net/sf/briar/plugins/PluginManagerImplTest.java
index c1c1a30f904a950e065abe854e3001dbae22a4f7..8c734e1ae391e56d7967f007816f31a87ce071c5 100644
--- a/test/net/sf/briar/plugins/PluginManagerImplTest.java
+++ b/test/net/sf/briar/plugins/PluginManagerImplTest.java
@@ -13,7 +13,6 @@ import net.sf.briar.api.protocol.TransportId;
 import net.sf.briar.api.protocol.TransportIndex;
 import net.sf.briar.api.transport.ConnectionDispatcher;
 import net.sf.briar.api.ui.UiCallback;
-import net.sf.briar.clock.SystemClock;
 
 import org.jmock.Expectations;
 import org.jmock.Mockery;
@@ -48,8 +47,8 @@ public class PluginManagerImplTest extends BriarTestCase {
 			oneOf(poller).stop();
 		}});
 		ExecutorService executor = Executors.newCachedThreadPool();
-		PluginManagerImpl p = new PluginManagerImpl(executor, new SystemClock(),
-				db, poller, dispatcher, uiCallback);
+		PluginManagerImpl p = new PluginManagerImpl(executor, db, poller,
+				dispatcher, uiCallback);
 		// We expect either 3 or 4 plugins to be started, depending on whether
 		// the test machine has a Bluetooth device
 		int started = p.start();
diff --git a/test/net/sf/briar/plugins/email/GmailPluginTester.java b/test/net/sf/briar/plugins/email/GmailPluginTester.java
index 17145c0e26a8dc2ee60d00f6f3f988a4633a508d..3db67819f8e4fd601361875f7bb2ab30ca02089c 100644
--- a/test/net/sf/briar/plugins/email/GmailPluginTester.java
+++ b/test/net/sf/briar/plugins/email/GmailPluginTester.java
@@ -14,7 +14,6 @@ import net.sf.briar.api.TransportProperties;
 import net.sf.briar.api.plugins.simplex.SimplexPluginCallback;
 import net.sf.briar.api.plugins.simplex.SimplexTransportReader;
 import net.sf.briar.api.plugins.simplex.SimplexTransportWriter;
-import net.sf.briar.clock.SystemClock;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -102,8 +101,7 @@ Map<ContactId,TransportProperties> map = new HashMap<ContactId, TransportPropert
 	public void testPluginFactoryCreation()
 	{
 		GmailPluginFactory plugin = new GmailPluginFactory();
-		plugin.createPlugin(Executors.newSingleThreadExecutor(),
-				new SystemClock(), callback);
+		plugin.createPlugin(Executors.newSingleThreadExecutor(), callback);
 	}
 	
 	@Test