diff --git a/lib/common/cmp_error.c b/lib/common/cmp_error.c
index b81e5954c973c9893c7f399177a46b87cc7ebd06..1579151a028294c9498e1f077aa41ec2f297529e 100644
--- a/lib/common/cmp_error.c
+++ b/lib/common/cmp_error.c
@@ -86,6 +86,8 @@ const char* cmp_get_error_string(enum cmp_error code)
 		return "Specific compression parameters or combination is unsupported";
 	case CMP_ERROR_PAR_BUFFERS:
 		return "Buffer related parameter is not valid";
+	case CMP_ERROR_PAR_MAX_USED_BITS:
+		return "Maximum used bits parameters are not valid";
 
 	case CMP_ERROR_CHUNK_NULL:
 		return "Pointer to the chunk is NULL. No data, no compression";
diff --git a/lib/common/cmp_error_list.h b/lib/common/cmp_error_list.h
index f2f8bffbd2307dc7c420953c0cb56bd78d5eee67..e28eb940b90f468f942754f8dd8b54c9cab6ead9 100644
--- a/lib/common/cmp_error_list.h
+++ b/lib/common/cmp_error_list.h
@@ -34,6 +34,7 @@ enum cmp_error {
 	CMP_ERROR_PAR_GENERIC = 20,
 	CMP_ERROR_PAR_SPECIFIC = 21,
 	CMP_ERROR_PAR_BUFFERS = 22,
+	CMP_ERROR_PAR_MAX_USED_BITS = 23,
 	/* chunk errors */
 	CMP_ERROR_CHUNK_NULL = 40,
 	CMP_ERROR_CHUNK_TOO_LARGE = 41,
diff --git a/lib/icu_compress/cmp_icu.c b/lib/icu_compress/cmp_icu.c
index 7df32bfec15f7068399ef997dce27167337ae75f..b0fd6cd2caba1588b1f88eac378b93217da3edf9 100644
--- a/lib/icu_compress/cmp_icu.c
+++ b/lib/icu_compress/cmp_icu.c
@@ -2031,7 +2031,7 @@ static uint32_t cmp_cfg_icu_is_invalid_error_code(const struct cmp_cfg *cfg)
 	RETURN_ERROR_IF(cmp_cfg_icu_buffers_is_invalid(cfg), PAR_BUFFERS, "");
 
 	if (cfg->cmp_mode != CMP_MODE_RAW)
-		RETURN_ERROR_IF(cmp_cfg_icu_max_used_bits_out_of_limit(cfg->max_used_bits), GENERIC, "");
+		RETURN_ERROR_IF(cmp_cfg_icu_max_used_bits_out_of_limit(cfg->max_used_bits), PAR_MAX_USED_BITS, "");
 
 	if (cmp_imagette_data_type_is_used(cfg->data_type)) {
 		RETURN_ERROR_IF(cmp_cfg_imagette_is_invalid(cfg, ICU_CHECK), PAR_SPECIFIC, "");
@@ -2777,7 +2777,7 @@ uint32_t compress_chunk_cmp_size_bound(const void *chunk, size_t chunk_size)
 
 	/* count the number of collections in the chunk */
 	for (read_bytes = 0;
-	     read_bytes <= (int32_t)chunk_size-COLLECTION_HDR_SIZE;
+	     read_bytes <= (int32_t)(chunk_size-COLLECTION_HDR_SIZE);
 	     read_bytes += cmp_col_get_size((const struct collection_hdr *)((const uint8_t *)chunk + read_bytes)))
 		num_col++;