diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot
index f45db0935f9ae5570a5f9c2356d169d60be6433b..c69c6458688f242d9ea14a07a33117ec1d4a6788 100755
--- a/package/base-files/files/etc/init.d/boot
+++ b/package/base-files/files/etc/init.d/boot
@@ -10,7 +10,6 @@ uci_apply_defaults() {
 	cd /etc/uci-defaults || return 0
 	files="$(ls)"
 	[ -z "$files" ] && return 0
-	mkdir -p /tmp/.uci
 	for file in $files; do
 		( . "./$(basename $file)" ) && rm -f "$file"
 	done
@@ -45,6 +44,8 @@ boot() {
 		sleep 1
 	}
 
+	mkdir -p /tmp/.uci
+	[ -f /etc/uci-defaults/30_uboot-envtools ] && (. /etc/uci-defaults/30_uboot-envtools)
 	/bin/config_generate
 	uci_apply_defaults
 	sync