diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/protocol/MailboxRequestStore.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/protocol/MailboxRequestStore.java
index 60074e1c351d0bfeee91ab19487aaadfa545a524..6af10170872213da653b6a63f8d65283a8b6a3c1 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/protocol/MailboxRequestStore.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/protocol/MailboxRequestStore.java
@@ -9,8 +9,8 @@ import javax.annotation.Nullable;
 import static org.briarproject.bramble.mailbox.protocol.MailboxMessage.TYPE.STORE;
 
 public class MailboxRequestStore extends MailboxRequest {
-	private ContactId contactId;
-	private byte[] encryptedSyncStream;
+	private final ContactId contactId;
+	private final byte[] encryptedSyncStream;
 
 	public MailboxRequestStore(ContactId contactId,
 			byte[] encryptedSyncMessage) {
@@ -30,7 +30,7 @@ public class MailboxRequestStore extends MailboxRequest {
 
 		BdfList body = msg.getList(2);
 
-		if(body.size() > 2)
+		if (body.size() != 2)
 			throw new FormatException();
 
 		Long cId = body.getOptionalLong(0);
@@ -38,7 +38,8 @@ public class MailboxRequestStore extends MailboxRequest {
 			if (cId > Integer.MAX_VALUE || cId < Integer.MIN_VALUE)
 				throw new FormatException();
 			contactId = new ContactId(cId.intValue());
-		}
+		} else
+			contactId = null;
 
 		encryptedSyncStream = body.getRaw(1);
 	}