diff --git a/lib/common/cmp_max_used_bits.h b/lib/common/cmp_max_used_bits.h
index b03c69d16c7ba203b34c572c98869523d746e37a..44f241ffd1bab0ecd3e2da5ec39b6c96fd4f0391 100644
--- a/lib/common/cmp_max_used_bits.h
+++ b/lib/common/cmp_max_used_bits.h
@@ -53,11 +53,10 @@ struct cmp_max_used_bits {
 	unsigned int f_ecob; /* f_ecob_x and f_ncob_y */
 	unsigned int l_exp_flags;
 	unsigned int l_fx;
-	unsigned int l_fx_variance;
+	unsigned int l_fx_cob_variance; /* l_fx_variance, l_cob_x_variance and l_cob_y_variance */
 	unsigned int l_efx;
 	unsigned int l_ncob; /* l_ncob_x and l_ncob_y */
 	unsigned int l_ecob; /* l_ecob_x and l_ncob_y */
-	unsigned int l_cob_variance; /* l_cob_x_variance and l_cob_y_variance */
 	unsigned int nc_imagette;
 	unsigned int saturated_imagette;
 	unsigned int nc_offset_mean;
@@ -94,11 +93,10 @@ static const struct cmp_max_used_bits MAX_USED_BITS = {
 	member_bit_size(struct f_fx_efx_ncob_ecob, ecob_x), /* f_ecob_x and f_ncob_y */
 	24, /* member_bit_size(struct l_fx_efx_ncob_ecob, exp_flags), /1* l_fx_exp_flags *1/ */
 	member_bit_size(struct l_fx_efx_ncob_ecob, fx), /* l_fx */
-	member_bit_size(struct l_fx_efx_ncob_ecob, fx_variance), /* l_fx_variance */
+	member_bit_size(struct l_fx_efx_ncob_ecob, fx_variance), /* l_fx_cob_variance */
 	member_bit_size(struct l_fx_efx_ncob_ecob, efx), /* l_efx */
 	member_bit_size(struct l_fx_efx_ncob_ecob, ncob_x), /* l_ncob_x and l_ncob_y */
 	member_bit_size(struct l_fx_efx_ncob_ecob, ecob_x), /* l_ecob_x and l_ncob_y */
-	member_bit_size(struct l_fx_efx_ncob_ecob, cob_x_variance), /* l_cob_x_variance and l_cob_y_variance */
 	sizeof(uint16_t)*8, /* nc_imagette */
 	sizeof(uint16_t)*8, /* saturated_imagette */
 	member_bit_size(struct offset, mean), /* nc_offset_mean */
diff --git a/lib/decompress/decmp.c b/lib/decompress/decmp.c
index d8340d40509b50687f9cb47ac940f7fe99d2062e..3baa4f853bd0d3a440d0464f018a3fffdeacf9ca 100644
--- a/lib/decompress/decmp.c
+++ b/lib/decompress/decmp.c
@@ -840,7 +840,7 @@ static int decompress_l_fx(const struct cmp_cfg *cfg, struct bit_decoder *dec)
 	configure_decoder_setup(&setup_fx, dec, cfg->cmp_mode, cfg->cmp_par_fx, cfg->spill_fx,
 				cfg->round, MAX_USED_BITS.l_fx);
 	configure_decoder_setup(&setup_fx_var, dec, cfg->cmp_mode, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_fx_variance);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance);
 
 	for (i = 0; ; i++) {
 		err = decode_value(&setup_exp_flags, &decoded_value, model.exp_flags);
@@ -914,7 +914,7 @@ static int decompress_l_fx_efx(const struct cmp_cfg *cfg, struct bit_decoder *de
 	configure_decoder_setup(&setup_efx, dec, cfg->cmp_mode, cfg->cmp_par_efx, cfg->spill_efx,
 				cfg->round, MAX_USED_BITS.l_efx);
 	configure_decoder_setup(&setup_fx_var, dec, cfg->cmp_mode, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_fx_variance);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance);
 
 	for (i = 0; ; i++) {
 		err = decode_value(&setup_exp_flags, &decoded_value, model.exp_flags);
@@ -996,9 +996,9 @@ static int decompress_l_fx_ncob(const struct cmp_cfg *cfg, struct bit_decoder *d
 	configure_decoder_setup(&setup_ncob, dec, cfg->cmp_mode, cfg->cmp_par_ncob, cfg->spill_ncob,
 				cfg->round, MAX_USED_BITS.l_ncob);
 	configure_decoder_setup(&setup_fx_var, dec, cfg->cmp_mode, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_fx_variance);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance);
 	configure_decoder_setup(&setup_cob_var, dec, cfg->cmp_mode, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_cob_variance);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance);
 
 	for (i = 0; ; i++) {
 		err = decode_value(&setup_exp_flags, &decoded_value, model.exp_flags);
@@ -1105,9 +1105,9 @@ static int decompress_l_fx_efx_ncob_ecob(const struct cmp_cfg *cfg, struct bit_d
 	configure_decoder_setup(&setup_ecob, dec, cfg->cmp_mode, cfg->cmp_par_ecob, cfg->spill_ecob,
 				cfg->round, MAX_USED_BITS.l_ecob);
 	configure_decoder_setup(&setup_fx_var, dec, cfg->cmp_mode, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_fx_variance);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance);
 	configure_decoder_setup(&setup_cob_var, dec, cfg->cmp_mode, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_cob_variance);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance);
 
 	for (i = 0; ; i++) {
 		err = decode_value(&setup_exp_flags, &decoded_value, model.exp_flags);
diff --git a/lib/icu_compress/cmp_icu.c b/lib/icu_compress/cmp_icu.c
index 4df64733e18bbaf165c5a0d571dbbabe8e1238cc..b57d2acd039acb6371eba7adc8916c7ee6e1cc70 100644
--- a/lib/icu_compress/cmp_icu.c
+++ b/lib/icu_compress/cmp_icu.c
@@ -889,7 +889,7 @@ static uint32_t compress_l_fx(const struct cmp_cfg *cfg, uint32_t stream_len)
 	configure_encoder_setup(&setup_fx, cfg->cmp_par_fx, cfg->spill_fx,
 				cfg->round, MAX_USED_BITS.l_fx, cfg);
 	configure_encoder_setup(&setup_fx_var, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_fx_variance, cfg);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance, cfg);
 
 	for (i = 0;; i++) {
 		stream_len = encode_value(data_buf[i].exp_flags, model.exp_flags,
@@ -960,7 +960,7 @@ static uint32_t compress_l_fx_efx(const struct cmp_cfg *cfg, uint32_t stream_len
 	configure_encoder_setup(&setup_efx, cfg->cmp_par_efx, cfg->spill_efx,
 				cfg->round, MAX_USED_BITS.l_efx, cfg);
 	configure_encoder_setup(&setup_fx_var, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_fx_variance, cfg);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance, cfg);
 
 	for (i = 0;; i++) {
 		stream_len = encode_value(data_buf[i].exp_flags, model.exp_flags,
@@ -1039,9 +1039,9 @@ static uint32_t compress_l_fx_ncob(const struct cmp_cfg *cfg, uint32_t stream_le
 				cfg->round, MAX_USED_BITS.l_ncob, cfg);
 	/* we use the cmp_par_fx_cob_variance parameter for fx and cob variance data */
 	configure_encoder_setup(&setup_fx_var, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_fx_variance, cfg);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance, cfg);
 	configure_encoder_setup(&setup_cob_var, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_cob_variance, cfg);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance, cfg);
 
 	for (i = 0;; i++) {
 		stream_len = encode_value(data_buf[i].exp_flags, model.exp_flags,
@@ -1142,9 +1142,9 @@ static uint32_t compress_l_fx_efx_ncob_ecob(const struct cmp_cfg *cfg, uint32_t
 				cfg->round, MAX_USED_BITS.l_ecob, cfg);
 	/* we use compression parameters for both variance data fields */
 	configure_encoder_setup(&setup_fx_var, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_fx_variance, cfg);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance, cfg);
 	configure_encoder_setup(&setup_cob_var, cfg->cmp_par_fx_cob_variance, cfg->spill_fx_cob_variance,
-				cfg->round, MAX_USED_BITS.l_cob_variance, cfg);
+				cfg->round, MAX_USED_BITS.l_fx_cob_variance, cfg);
 
 	for (i = 0;; i++) {
 		stream_len = encode_value(data_buf[i].exp_flags, model.exp_flags,
diff --git a/test/cmp_decmp/test_cmp_decmp.c b/test/cmp_decmp/test_cmp_decmp.c
index 84b2cff8ca2422b5c2af34f806365ea81afbe1ce..b1d12411a6757903cf2675fdccdd178600d4c3f2 100644
--- a/test/cmp_decmp/test_cmp_decmp.c
+++ b/test/cmp_decmp/test_cmp_decmp.c
@@ -393,7 +393,7 @@ static size_t gen_l_fx_data(struct l_fx *data, uint32_t samples,
 		for (i = 0; i < samples; i++) {
 			data[i].exp_flags = gen_data_f(MAX_USED_BITS.l_exp_flags, extra);
 			data[i].fx = gen_data_f(MAX_USED_BITS.l_fx, extra);
-			data[i].fx_variance = gen_data_f(MAX_USED_BITS.l_fx_variance, extra);
+			data[i].fx_variance = gen_data_f(MAX_USED_BITS.l_fx_cob_variance, extra);
 		}
 	}
 	return sizeof(*data) * samples;
@@ -410,7 +410,7 @@ static size_t gen_l_fx_efx_data(struct l_fx_efx *data, uint32_t samples,
 			data[i].exp_flags = gen_data_f(MAX_USED_BITS.l_exp_flags, extra);
 			data[i].fx = gen_data_f(MAX_USED_BITS.l_fx, extra);
 			data[i].efx = gen_data_f(MAX_USED_BITS.l_efx, extra);
-			data[i].fx_variance = gen_data_f(MAX_USED_BITS.l_fx_variance, extra);
+			data[i].fx_variance = gen_data_f(MAX_USED_BITS.l_fx_cob_variance, extra);
 		}
 	}
 	return sizeof(*data) * samples;
@@ -428,9 +428,9 @@ static size_t gen_l_fx_ncob_data(struct l_fx_ncob *data, uint32_t samples,
 			data[i].fx = gen_data_f(MAX_USED_BITS.l_fx, extra);
 			data[i].ncob_x = gen_data_f(MAX_USED_BITS.l_ncob, extra);
 			data[i].ncob_y = gen_data_f(MAX_USED_BITS.l_ncob, extra);
-			data[i].fx_variance = gen_data_f(MAX_USED_BITS.l_fx_variance, extra);
-			data[i].cob_x_variance = gen_data_f(MAX_USED_BITS.l_cob_variance, extra);
-			data[i].cob_y_variance = gen_data_f(MAX_USED_BITS.l_cob_variance, extra);
+			data[i].fx_variance = gen_data_f(MAX_USED_BITS.l_fx_cob_variance, extra);
+			data[i].cob_x_variance = gen_data_f(MAX_USED_BITS.l_fx_cob_variance, extra);
+			data[i].cob_y_variance = gen_data_f(MAX_USED_BITS.l_fx_cob_variance, extra);
 		}
 	}
 	return sizeof(*data) * samples;
@@ -451,9 +451,9 @@ static size_t gen_l_fx_efx_ncob_ecob_data(struct l_fx_efx_ncob_ecob *data, uint3
 			data[i].efx = gen_data_f(MAX_USED_BITS.l_efx, extra);
 			data[i].ecob_x = gen_data_f(MAX_USED_BITS.l_ecob, extra);
 			data[i].ecob_y = gen_data_f(MAX_USED_BITS.l_ecob, extra);
-			data[i].fx_variance = gen_data_f(MAX_USED_BITS.l_fx_variance, extra);
-			data[i].cob_x_variance = gen_data_f(MAX_USED_BITS.l_cob_variance, extra);
-			data[i].cob_y_variance = gen_data_f(MAX_USED_BITS.l_cob_variance, extra);
+			data[i].fx_variance = gen_data_f(MAX_USED_BITS.l_fx_cob_variance, extra);
+			data[i].cob_x_variance = gen_data_f(MAX_USED_BITS.l_fx_cob_variance, extra);
+			data[i].cob_y_variance = gen_data_f(MAX_USED_BITS.l_fx_cob_variance, extra);
 		}
 	}
 	return sizeof(*data) * samples;