diff --git a/briar-api/src/org/briarproject/api/transport/TransportKeys.java b/briar-api/src/org/briarproject/api/transport/TransportKeys.java
index 72b7e62c459b70cfc889fcdd69111c8eda9c7880..ec550b52a646a54b6433c08d5ae71378dd0568e7 100644
--- a/briar-api/src/org/briarproject/api/transport/TransportKeys.java
+++ b/briar-api/src/org/briarproject/api/transport/TransportKeys.java
@@ -11,6 +11,12 @@ public class TransportKeys {
 
 	public TransportKeys(TransportId transportId, IncomingKeys inPrev,
 			IncomingKeys inCurr, IncomingKeys inNext, OutgoingKeys outCurr) {
+		if (inPrev.getRotationPeriod() != inCurr.getRotationPeriod() - 1)
+			throw new IllegalArgumentException();
+		if (inNext.getRotationPeriod() != inCurr.getRotationPeriod() + 1)
+			throw new IllegalArgumentException();
+		if (outCurr.getRotationPeriod() != inCurr.getRotationPeriod())
+			throw new IllegalArgumentException();
 		this.transportId = transportId;
 		this.inPrev = inPrev;
 		this.inCurr = inCurr;