diff --git a/addons/website/models/res_config_settings.py b/addons/website/models/res_config_settings.py
index 9501ab5cf1564f651fc9c030fba86cbab84ffda7..9d621f483c58a92f0492ea296033760d244373f4 100644
--- a/addons/website/models/res_config_settings.py
+++ b/addons/website/models/res_config_settings.py
@@ -68,10 +68,10 @@ class ResConfigSettings(models.TransientModel):
     google_maps_api_key = fields.Char(related='website_id.google_maps_api_key', readonly=False)
     group_multi_website = fields.Boolean("Multi-website", implied_group="website.group_multi_website")
 
+    @api.onchange('website_id')
     @api.depends('website_id.auth_signup_uninvited')
     def _compute_auth_signup(self):
-        for config in self:
-            config.auth_signup_uninvited = config.website_id.auth_signup_uninvited
+        self.auth_signup_uninvited = self.website_id.auth_signup_uninvited
 
     def _set_auth_signup(self):
         for config in self:
diff --git a/addons/website/tests/__init__.py b/addons/website/tests/__init__.py
index efde81df5007b9db342f820d3465f324ee3690ca..969122202b5459dc8c37a724fc4c5e7c5ea7a8b8 100644
--- a/addons/website/tests/__init__.py
+++ b/addons/website/tests/__init__.py
@@ -1,6 +1,7 @@
 # -*- coding: utf-8 -*-
 # Part of Odoo. See LICENSE file for full copyright and licensing details.
 from . import test_attachment
+from . import test_auth_signup_uninvited
 from . import test_base_url
 from . import test_converter
 from . import test_crawl
diff --git a/addons/website/tests/test_auth_signup_uninvited.py b/addons/website/tests/test_auth_signup_uninvited.py
new file mode 100644
index 0000000000000000000000000000000000000000..da3ff7081cecd8d2c43e30a931a18f0712c91802
--- /dev/null
+++ b/addons/website/tests/test_auth_signup_uninvited.py
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo.tests import common, tagged
+
+
+@tagged('-at_install', 'post_install')
+class TestAuthSignupUninvited(common.TransactionCase):
+
+    def test_01_auth_signup_uninvited(self):
+        self.env['website'].browse(1).auth_signup_uninvited = 'b2c'
+        config = self.env['res.config.settings'].create({})
+        self.assertEqual(config.auth_signup_uninvited, 'b2c')