diff --git a/radio/src/storage/yaml/yaml_bits.cpp b/radio/src/storage/yaml/yaml_bits.cpp index fc77bb98d..17c87bcf8 100644 --- a/radio/src/storage/yaml/yaml_bits.cpp +++ b/radio/src/storage/yaml/yaml_bits.cpp @@ -32,7 +32,7 @@ void yaml_put_bits(uint8_t* dst, uint32_t i, uint32_t bit_ofs, uint32_t bits) if (bit_ofs) { - *dst &= MASK_LOWER(bit_ofs); + *dst &= ~((MASK_LOWER(bits) << bit_ofs) & 0xFF); *(dst++) |= (i << bit_ofs) & 0xFF; if (bits <= 8 - bit_ofs)