diff --git a/lib/decompress/decmp.c b/lib/decompress/decmp.c
index 82150371abf1d48a293e707da98cf5dc8c316479..b9b3e9f126ca063ef1b1994902276126d108c2b4 100644
--- a/lib/decompress/decmp.c
+++ b/lib/decompress/decmp.c
@@ -2188,6 +2188,7 @@ static long parse_cmp_collection(uint8_t *cmp_col, int n, struct cmp_cfg *cfg, i
 	uint32_t cmp_data_size; /* size of the compressed data in the collection (not including the header) */
 	uint16_t original_col_size; /* size of the decompressed collection data (not including the header) */
 	size_t sample_size;
+	void *void_poiter; /* used to suppress unaligned cast warning */
 
 	/* get to the collection we want to decompress */
 	for (i = 0; i < n; i++) {
@@ -2211,7 +2212,8 @@ static long parse_cmp_collection(uint8_t *cmp_col, int n, struct cmp_cfg *cfg, i
 	else
 		*coll_uncompressed = 0;
 
-	cfg->icu_output_buf = (void *)(col_hdr); /* unaligned cast -> reading compressed data as uint8_t * */
+	void_poiter = (void *)(col_hdr); /* unaligned cast -> reading compressed data as uint8_t * */
+	cfg->icu_output_buf = void_poiter;
 	cfg->buffer_length = cmp_data_size + COLLECTION_HDR_SIZE;
 
 	cfg->data_type = convert_subservice_to_cmp_data_type(cmp_col_get_subservice(col_hdr));