diff --git a/include/image.mk b/include/image.mk
index a77de2723866b3af503a794ed7be688be7ec5a96..3832b7ae8405e3f0d9ea13c242a82bae303e74b4 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -130,16 +130,16 @@ ifneq ($(CONFIG_TARGET_ROOTFS_SQUASHFS),)
 endif
 
 # $(1): board name
-# $(2): kernel image
-# $(3): rootfs image
+# $(2): rootfs type
+# $(3): kernel image
 ifneq ($(CONFIG_NAND_SUPPORT),)
    define Image/Build/SysupgradeNAND
-	mkdir -p $(KDIR_TMP)/sysupgrade-$(1)/
-	echo "BOARD=$(1)" > $(KDIR_TMP)/sysupgrade-$(1)/CONTROL
-	[ -z "$(2)" ] || $(CP) $(2) $(KDIR_TMP)/sysupgrade-$(1)/kernel
-	[ -z "$(3)" ] || $(CP) $(3) $(KDIR_TMP)/sysupgrade-$(1)/root
-	(cd $(KDIR_TMP); $(TAR) cvf \
-		$(BIN_DIR)/$(IMG_PREFIX)-$(1)-ubi-sysupgrade.tar sysupgrade-$(1))
+	mkdir -p "$(KDIR_TMP)/sysupgrade-$(1)/"
+	echo "BOARD=$(1)" > "$(KDIR_TMP)/sysupgrade-$(1)/CONTROL"
+	[ -z "$(2)" ] || $(CP) "$(KDIR)/root.$(2)" "$(KDIR_TMP)/sysupgrade-$(1)/root"
+	[ -z "$(3)" ] || $(CP) "$(3)" "$(KDIR_TMP)/sysupgrade-$(1)/kernel"
+	(cd "$(KDIR_TMP)"; $(TAR) cvf \
+		"$(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(2)-sysupgrade.tar" sysupgrade-$(1))
    endef
    define Image/Build/UbinizeImage
 	sh $(TOPDIR)/scripts/ubinize-image.sh $(2) \
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index d0ee3637d201882a0bba0b5c359826d915e3eb59..3c68fa37fcb8eaf4e85c897b006972a834f52242 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -878,7 +878,7 @@ define Image/Build/NetgearNAND
 		-i $(imageraw) \
 		-o $(call imgname,ubi,$(2))-factory.img
 
-	$(call Image/Build/SysupgradeNAND,$(2),$(KDIR_TMP)/vmlinux-$(2).uImage,$(KDIR_TMP)/root.squashfs)
+	$(call Image/Build/SysupgradeNAND,$(2),squashfs,$(KDIR_TMP)/vmlinux-$(2).uImage)
 endef