diff --git a/package/gluon-autoupdater/check_site.lua b/package/gluon-autoupdater/check_site.lua
index eaabf285cccbec8ddce935680867095ef71bbf19..04c88a13dac3ecc3a4bbca868f5ccb6a4c25b838 100644
--- a/package/gluon-autoupdater/check_site.lua
+++ b/package/gluon-autoupdater/check_site.lua
@@ -1,6 +1,4 @@
-need_string(in_site({'autoupdater', 'branch'}), false)
-
-need_table({'autoupdater', 'branches'}, function(branch)
+local branches = table_keys(need_table({'autoupdater', 'branches'}, function(branch)
 	need_alphanumeric_key(branch)
 
 	need_string(in_site(extend(branch, {'name'})))
@@ -8,4 +6,15 @@ need_table({'autoupdater', 'branches'}, function(branch)
 	need_number(in_site(extend(branch, {'good_signatures'})))
 	need_string_array_match(in_site(extend(branch, {'pubkeys'})), '^%x+$')
 	obsolete(in_site(extend(branch, {'probability'})), 'Use GLUON_PRIORITY in site.mk instead.')
-end)
+end))
+
+need_one_of(in_site({'autoupdater', 'branch'}), branches, false)
+
+-- Check GLUON_AUTOUPDATER_BRANCH
+local default_branch
+local f = io.open((os.getenv('IPKG_INSTROOT') or '') .. '/lib/gluon/autoupdater/default_branch')
+if f then
+	default_branch = f:read('*line')
+	f:close()
+end
+need_one_of(value('GLUON_AUTOUPDATER_BRANCH', default_branch), branches, false)