diff --git a/Makefile b/Makefile
index 6e87aa02bb1dfefc22279dcb90ab066921c8f0e2..be834960f2db1dc71fdf2be2f834579276ab780b 100644
--- a/Makefile
+++ b/Makefile
@@ -17,7 +17,7 @@ all: $(submake)
 	$(call quiet, $(silentant) ant -Dmode=$(mode) -Dout=$(abspath $(out)/tests/bench) \
 		-e -f tests/bench/build.xml $(if $V,,-q), ANT tests/bench)
 	cd mgmt && ./gradlew --daemon :web:jar build
-	$(MAKE) -C $(dir $(submake)) $@
+	$(MAKE) -r -C $(dir $(submake)) $@
 
 $(submake): Makefile
 	mkdir -p $(dir $@)
diff --git a/build.mk b/build.mk
index 4e59ba12097f46597b94ca2a0a5f58670662cefe..42ddbc996d122ead031fee36b8c6a48c263ae1b9 100644
--- a/build.mk
+++ b/build.mk
@@ -561,7 +561,6 @@ usr.img: loader.img scripts/mkzfs.py usr.manifest $(jni)
 		glibcbase=$(glibcbase) -D miscbase=$(miscbase) -s $(zfs-start)
 	$(call quiet, dd if=loader.img of=$@ conv=notrunc > /dev/null 2>&1)
 	$(call quiet, $(src)/scripts/imgedit.py setpartition $@ 2 $(zfs-start) $(zfs-size), IMGEDIT $@)
-	$(call quiet, rm loader.img)
 
 $(jni): INCLUDES += -I /usr/lib/jvm/java/include -I /usr/lib/jvm/java/include/linux/