diff --git a/lib/common/cmp_data_types.c b/lib/common/cmp_data_types.c
index c044806b4e1e5b04987963ea032d2b1e022dcf79..2ab46997efff58f31321cce4f25cdb96e18168ae 100644
--- a/lib/common/cmp_data_types.c
+++ b/lib/common/cmp_data_types.c
@@ -592,7 +592,11 @@ size_t size_of_a_sample(enum cmp_data_type data_type)
 
 static uint32_t be24_to_cpu(uint32_t a)
 {
+#ifdef __LITTLE_ENDIAN
 	return be32_to_cpu(a) >> 8;
+#else
+	return a;
+#endif /* __LITTLE_ENDIAN */
 }