diff --git a/tools/firmware-utils/src/mktplinkfw.c b/tools/firmware-utils/src/mktplinkfw.c
index 04234fd63d38e06060d8414c9e17d6baf04bde04..a1669cee5a4dc6a29cf831141306e4ce9579b954 100644
--- a/tools/firmware-utils/src/mktplinkfw.c
+++ b/tools/firmware-utils/src/mktplinkfw.c
@@ -551,7 +551,7 @@ static int build_fw(void)
 	if (ret)
 		goto out_free_buf;
 
-	writelen = kernel_info.file_size;
+	writelen = sizeof(struct fw_header) + kernel_info.file_size;
 
 	if (!combined) {
 		p = buf + rootfs_ofs;