diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
index 6e63783e0a16ebe9003e721e9eb19be2c5acd02c..215f482352d239457825b8071e7de92ba801326b 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/package/base-files/files/sbin/sysupgrade
@@ -109,7 +109,12 @@ add_uci_conffiles() {
 
 add_overlayfiles() {
 	local file="$1"
-	find /overlay/etc/ -type f -o -type l | sed \
+	if [ -d /overlay/upper ]; then
+		local overlaydir="/overlay/upper"
+	else
+		local overlaydir="/overlay"
+	fi
+	find $overlaydir/etc/ -type f -o -type l | sed \
 		-e 's,^/overlay/,/,' \
 		-e '\,/META_[a-zA-Z0-9]*$,d' \
 		-e '\,/functions.sh$,d' \