diff --git a/mesh/crypto.c b/mesh/crypto.c
index 9953659..70b96c5 100644
--- a/mesh/crypto.c
+++ b/mesh/crypto.c
if (seq > SEQ_MASK)
return false;
+ packet[0] = 0;
l_put_be32(seq, packet + 1);
packet[1] = (ctl ? CTL : 0) | (ttl & TTL_MASK);
diff --git a/mesh/node.c b/mesh/node.c
index dd28dfd..49ba7c8 100644
--- a/mesh/node.c
+++ b/mesh/node.c
/* Generate device and primary network keys */
l_getrandom(dev_key, sizeof(dev_key));
l_getrandom(net_key.old_key, sizeof(net_key.old_key));
+ memcpy(net_key.new_key, net_key.old_key,
+ sizeof(net_key.old_key));
net_key.net_idx = PRIMARY_NET_IDX;
net_key.phase = KEY_REFRESH_PHASE_NONE;