diff --git a/channels/storage/impl.go b/channels/storage/impl.go
index 45cd2724b6347f2c0cb1b52273e4ab22fcf9b821..de2f38b01c5eec710edeb0a8a37a7a5f509002d2 100644
--- a/channels/storage/impl.go
+++ b/channels/storage/impl.go
@@ -131,10 +131,12 @@ func (i *impl) UpdateFromUUID(uuid uint64, messageID *message.ID, timestamp *tim
 	parentErr := errors.New("failed to UpdateFromMessageID")
 
 	msgToUpdate := &Message{
-		Id:        uuid,
-		MessageId: messageID.Marshal(),
-		Hidden:    hidden,
-		Pinned:    pinned,
+		Id:     uuid,
+		Hidden: hidden,
+		Pinned: pinned,
+	}
+	if messageID != nil {
+		msgToUpdate.MessageId = messageID.Marshal()
 	}
 	if round != nil {
 		msgToUpdate.Round = uint64(round.ID)