diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index cc397d605b0e03b1901f96cbb88cb62411002004..db29489eca7517c4a21151fcd91dbdc53b270dfc 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -939,7 +939,7 @@ int ubifs_load(char *filename, u32 addr, u32 size)
 
 	printf("Loading file '%s' to addr 0x%08x...\n", filename, addr);
 
-	err = ubifs_read(filename, (void *)addr, 0, size, &actread);
+	err = ubifs_read(filename, (void *)(uintptr_t)addr, 0, size, &actread);
 	if (err == 0) {
 		setenv_hex("filesize", actread);
 		printf("Done\n");