diff --git a/target/linux/realtek/base-files.mk b/target/linux/realtek/base-files.mk
index a3e712d8a3..2a53f6656f 100644
--- a/target/linux/realtek/base-files.mk
+++ b/target/linux/realtek/base-files.mk
@@ -29,6 +29,7 @@ HOST_LN="$(subst ${STAGING_DIR_HOST},$${STAGING_DIR_HOST},$(LN))"
$${HOST_LN} /usr/sbin/jffs2reset "$${IPKG_INSTROOT}/sbin/jffs2reset"
$${HOST_SED} '//a ' \
+ $${IPKG_INSTROOT}/usr/lib/lua/luci/view/themes/argon/header.htm \
$${IPKG_INSTROOT}/usr/lib/lua/luci/view/themes/argon_dark/header.htm \
$${IPKG_INSTROOT}/usr/lib/lua/luci/view/themes/argon_light/header.htm \
$${IPKG_INSTROOT}/usr/lib/lua/luci/view/themes/argon_dark_purple/header.htm \
diff --git a/target/linux/realtek/base-files/etc/uci-defaults/99_theme b/target/linux/realtek/base-files/etc/uci-defaults/99_theme
index df2197b3d8..f44af0a4c2 100644
--- a/target/linux/realtek/base-files/etc/uci-defaults/99_theme
+++ b/target/linux/realtek/base-files/etc/uci-defaults/99_theme
@@ -1,18 +1,22 @@
#!/bin/sh
+mediaurlbase=
+theme=
+
if [ -d /www/luci-static/argon_light_green -a -e /proc/device-tree/chosen/default-password ]; then
+ mediaurlbase=/luci-static/argon_light_green
+else
+ for theme in argon argon_dark material ; do
+ if [ -d /www/luci-static/$theme ]; then
+ mediaurlbase=/luci-static/$theme
+ break
+ fi
+ done
+fi
+
+if [ -n "$mediaurlbase" ]; then
uci -q batch <<-EOF >/dev/null
- set luci.main.mediaurlbase=/luci-static/argon_light_green
- commit luci
-EOF
-elif [ -d /www/luci-static/argon_dark ]; then
- uci -q batch <<-EOF >/dev/null
- set luci.main.mediaurlbase=/luci-static/argon_dark
- commit luci
-EOF
-elif [ -d /www/luci-static/material ]; then
- uci -q batch <<-EOF >/dev/null
- set luci.main.mediaurlbase=/luci-static/material
+ set luci.main.mediaurlbase=$mediaurlbase
commit luci
EOF
fi