diff --git a/common/image-fdt.c b/common/image-fdt.c
index 2e22cca..6f9ce7d 100644
--- a/common/image-fdt.c
+++ b/common/image-fdt.c
@@ -55,7 +55,7 @@
 		fdt_error("uImage is compressed");
 		return NULL;
 	}
-	if (fdt_check_header((char *)image_get_data(fdt_hdr)) != 0) {
+	if (fdt_check_header((void *)image_get_data(fdt_hdr)) != 0) {
 		fdt_error("uImage data is not a fdt");
 		return NULL;
 	}
diff --git a/common/image-fit.c b/common/image-fit.c
index 7ebc33e..cf4b67e 100644
--- a/common/image-fit.c
+++ b/common/image-fit.c
@@ -1596,7 +1596,7 @@
 	len = (ulong)size;
 
 	/* verify that image data is a proper FDT blob */
-	if (image_type == IH_TYPE_FLATDT && fdt_check_header((char *)buf)) {
+	if (image_type == IH_TYPE_FLATDT && fdt_check_header(buf)) {
 		puts("Subimage data is not a FDT");
 		return -ENOEXEC;
 	}
diff --git a/common/image.c b/common/image.c
index 802a79e..b0ae58f 100644
--- a/common/image.c
+++ b/common/image.c
@@ -652,17 +652,13 @@
 {
 	ulong format = IMAGE_FORMAT_INVALID;
 	const image_header_t *hdr;
-#if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT)
-	char *fit_hdr;
-#endif
 
 	hdr = (const image_header_t *)img_addr;
 	if (image_check_magic(hdr))
 		format = IMAGE_FORMAT_LEGACY;
 #if defined(CONFIG_FIT) || defined(CONFIG_OF_LIBFDT)
 	else {
-		fit_hdr = (char *)img_addr;
-		if (fdt_check_header(fit_hdr) == 0)
+		if (fdt_check_header(img_addr) == 0)
 			format = IMAGE_FORMAT_FIT;
 	}
 #endif
diff --git a/tools/fit_image.c b/tools/fit_image.c
index 47beaaf..0400a60 100644
--- a/tools/fit_image.c
+++ b/tools/fit_image.c
@@ -23,7 +23,7 @@
 static int fit_verify_header (unsigned char *ptr, int image_size,
 			struct mkimage_params *params)
 {
-	return fdt_check_header ((void *)ptr);
+	return fdt_check_header(ptr);
 }
 
 static int fit_check_image_types (uint8_t type)
