diff --git a/api/net/sf/briar/api/protocol/ProtocolConstants.java b/api/net/sf/briar/api/protocol/ProtocolConstants.java
index ba3f5fb6581a4c8ce6cbea121b4e296903f11419..7e23d247a0474010ab9a5aaba6c860f2a48168e1 100644
--- a/api/net/sf/briar/api/protocol/ProtocolConstants.java
+++ b/api/net/sf/briar/api/protocol/ProtocolConstants.java
@@ -48,7 +48,4 @@ public interface ProtocolConstants {
 
 	/** The length of a message's random salt in bytes. */
 	static final int SALT_LENGTH = 8;
-
-	/** The size of the connection reordering window. */
-	static final int CONNECTION_WINDOW_SIZE = 32;
 }
diff --git a/api/net/sf/briar/api/transport/TransportConstants.java b/api/net/sf/briar/api/transport/TransportConstants.java
index cd62a65b1324248cc51d3b4debcfbc17d62af32d..b8158078bd597ed2eae8c7217fe93ac361ec5224 100644
--- a/api/net/sf/briar/api/transport/TransportConstants.java
+++ b/api/net/sf/briar/api/transport/TransportConstants.java
@@ -23,4 +23,7 @@ public interface TransportConstants {
 	 * plugins must support connections of at least this length.
 	 */
 	static final int MIN_CONNECTION_LENGTH = 1024 * 1024; // 2^20, 1 MiB
+
+	/** The size of the connection reordering window. */
+	static final int CONNECTION_WINDOW_SIZE = 32;
 }
diff --git a/components/net/sf/briar/transport/ConnectionWindowImpl.java b/components/net/sf/briar/transport/ConnectionWindowImpl.java
index 8aa1708bc92e1ef7191a7fc0850d2bf1784506f0..09faa909aa986a0cbc197e3fe9fb7dee56527c4d 100644
--- a/components/net/sf/briar/transport/ConnectionWindowImpl.java
+++ b/components/net/sf/briar/transport/ConnectionWindowImpl.java
@@ -1,6 +1,6 @@
 package net.sf.briar.transport;
 
-import static net.sf.briar.api.protocol.ProtocolConstants.CONNECTION_WINDOW_SIZE;
+import static net.sf.briar.api.transport.TransportConstants.CONNECTION_WINDOW_SIZE;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/test/net/sf/briar/db/H2DatabaseTest.java b/test/net/sf/briar/db/H2DatabaseTest.java
index e8f55a275f1eb1d41ed61f82fd3f9a08bdd77794..d171e56cdfd0885427342946f998bd2e2df72078 100644
--- a/test/net/sf/briar/db/H2DatabaseTest.java
+++ b/test/net/sf/briar/db/H2DatabaseTest.java
@@ -34,13 +34,13 @@ import net.sf.briar.api.protocol.GroupFactory;
 import net.sf.briar.api.protocol.GroupId;
 import net.sf.briar.api.protocol.Message;
 import net.sf.briar.api.protocol.MessageId;
-import net.sf.briar.api.protocol.ProtocolConstants;
 import net.sf.briar.api.protocol.Transport;
 import net.sf.briar.api.protocol.TransportId;
 import net.sf.briar.api.protocol.TransportIndex;
 import net.sf.briar.api.transport.ConnectionContextFactory;
 import net.sf.briar.api.transport.ConnectionWindow;
 import net.sf.briar.api.transport.ConnectionWindowFactory;
+import net.sf.briar.api.transport.TransportConstants;
 import net.sf.briar.crypto.CryptoModule;
 import net.sf.briar.lifecycle.LifecycleModule;
 import net.sf.briar.protocol.ProtocolModule;
@@ -1461,7 +1461,7 @@ public class H2DatabaseTest extends BriarTestCase {
 				remoteIndex);
 		// The connection window should exist and be in the initial state
 		assertNotNull(w);
-		long top = ProtocolConstants.CONNECTION_WINDOW_SIZE / 2 - 1;
+		long top = TransportConstants.CONNECTION_WINDOW_SIZE / 2 - 1;
 		for(long l = 0; l <= top; l++) assertFalse(w.isSeen(l));
 
 		db.commitTransaction(txn);
@@ -1481,7 +1481,7 @@ public class H2DatabaseTest extends BriarTestCase {
 		// The connection window should exist and be in the initial state
 		assertNotNull(w);
 		Map<Long, byte[]> unseen = w.getUnseen();
-		long top = ProtocolConstants.CONNECTION_WINDOW_SIZE / 2 - 1;
+		long top = TransportConstants.CONNECTION_WINDOW_SIZE / 2 - 1;
 		assertEquals(top + 1, unseen.size());
 		for(long l = 0; l <= top; l++) {
 			assertFalse(w.isSeen(l));