diff --git a/main/ipset/APKBUILD b/main/ipset/APKBUILD
index 204e77152d502e55b3a2143bc844bac35d0b1d69..0eaa7dce9967aefb2f123a157d9031e38a53f317 100644
--- a/main/ipset/APKBUILD
+++ b/main/ipset/APKBUILD
@@ -2,7 +2,7 @@
 # Maintainer: Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>
 pkgname=ipset
 pkgver=6.38
-pkgrel=0
+pkgrel=1
 pkgdesc="Manage Linux IP sets"
 url="http://ipset.netfilter.org/"
 arch="all"
@@ -36,4 +36,4 @@ package() {
 
 sha512sums="ba8c45fa6b4df1b4af848d8c0c218fb449a50c79c48b1d1550dd3a188f82d320956bc483874730f917249d8650e50c3eedff66c24a68a136246fdbf6e1127d60  ipset-6.38.tar.bz2
 7bc9f2bc8d0e15722913373317422ad74fc9504ea01aacd6d512ac337cc166bbb5a0ae77e086277df6eb1e433154b37adf596680db2f43f6656a41f6876a61f0  musl-fix.patch
-d8a85dd7796fcab7d8894eb763d82af91d7abebd7f6a1f1d6d90c8297c8fda141821cf230ade2d9f554ddd0122ab10e18823722f112f0b9de6f4bd097590ca51  ipset.initd"
+c7d3344ce879ff3b21f9e30a00d49a41cbd68172aec1a933a4b501dded54e3c57615386850901da22c652a34bcbe39caac86a3a0447da24bae29b40632153239  ipset.initd"
diff --git a/main/ipset/ipset.initd b/main/ipset/ipset.initd
index 649b310ac5f64b406d5a5b0ff812115868b8db2e..83cfee920fa1ae3cae257f92520d7c086c41b944 100644
--- a/main/ipset/ipset.initd
+++ b/main/ipset/ipset.initd
@@ -86,11 +86,16 @@ reload() {
 	ebegin "Loading firewall IP sets"
 
 	local swap=
+	for name in $(set_files); do
+		if set_exists $name; then
+			swap="$swap $name"
+		fi
+	done
+
 	for name in $(set_files); do
 		local new=$name
 		if set_exists $name; then
 			new=_init_$name
-			swap="$swap $name"
 		fi
 		echo create $new $(set_file $name | head -n 1)
 	done | ipset restore