diff --git a/package/gluon-autoupdater/files/usr/sbin/autoupdater b/package/gluon-autoupdater/files/usr/sbin/autoupdater
index 99ff78f425d0831d4f25558bc790200735a884ed..773d67c7dc169bee680893ecec746a365b0d7b65 100755
--- a/package/gluon-autoupdater/files/usr/sbin/autoupdater
+++ b/package/gluon-autoupdater/files/usr/sbin/autoupdater
@@ -19,7 +19,7 @@ if test "a$1" != "a-f"; then
   fi
 fi
 
-BASE=$(uci get autoupdater.${BRANCH}.url)
+MIRRORS=$(uci get autoupdater.${BRANCH}.mirror)
 PUBKEYS=$(uci get autoupdater.${BRANCH}.pubkey)
 GOOD_SIGNATURES=$(uci get autoupdater.${BRANCH}.good_signatures)
 
@@ -166,4 +166,13 @@ fi
 
 my_version="$(cat "$VERSION_FILE")"
 
-autoupdate $BASE && exit 0
+for mirror in $MIRRORS; do
+
+  autoupdate $mirror && exit 0
+
+  unset fw_version
+  unset fw_md5
+  unset fw_file
+
+done
+
diff --git a/package/gluon-autoupdater/invariant.pl b/package/gluon-autoupdater/invariant.pl
index 31848133c72ba5e6869aaaa6fe494b2430ad1bfe..493eb299f8699faf39994ab311f0e49d639b3a5f 100644
--- a/package/gluon-autoupdater/invariant.pl
+++ b/package/gluon-autoupdater/invariant.pl
@@ -28,10 +28,14 @@ delete autoupdater.$name
 set autoupdater.$name=branch
 END
 
-  for (qw(url probability good_signatures)) {
+  for (qw(probability good_signatures)) {
     print "set autoupdater.$name.$_=$branch->{$_}\n";
   }
 
+  for (@{$branch->{mirrors}}) {
+    print "add_list autoupdater.$name.mirror=$_\n";
+  }
+
   for (@{$branch->{pubkeys}}) {
     print "add_list autoupdater.$name.pubkey=$_\n";
   }