diff --git a/include/toplevel.mk b/include/toplevel.mk
index 535ac0e065698347774fdbc717d7480a88408ae0..7ef5c6186a8abb7d20381954cc191d91acec2a5a 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -165,11 +165,14 @@ staging_dir/host/.prereq-build: include/prereq-build.mk
 printdb: FORCE
 	@$(_SINGLE)$(NO_TRACE_MAKE) -p $@ V=99 DUMP_TARGET_DB=1 2>&1
 
+ifndef SDK
+  DOWNLOAD_DIRS = tools/download toolchain/download package/download target/download
+else
+  DOWNLOAD_DIRS = package/download
+endif
+
 download: .config FORCE
-	@+$(SUBMAKE) tools/download
-	@+$(SUBMAKE) toolchain/download
-	@+$(SUBMAKE) package/download
-	@+$(SUBMAKE) target/download
+	@+$(foreach dir,$(DOWNLOAD_DIRS),$(SUBMAKE) $(dir);)
 
 clean dirclean: .config
 	@+$(SUBMAKE) -r $@