diff --git a/rhodecode/controllers/admin/my_account.py b/rhodecode/controllers/admin/my_account.py
--- a/rhodecode/controllers/admin/my_account.py
+++ b/rhodecode/controllers/admin/my_account.py
@@ -365,9 +365,7 @@ class MyAccountController(BaseController
     @jsonify
     def my_notifications_toggle_visibility(self):
         user = c.rhodecode_user.get_instance()
-        user_data = user.user_data
-        status = user_data.get('notification_status', False)
-        user_data['notification_status'] = not status
-        user.user_data = user_data
+        new_status = not user.user_data.get('notification_status', True)
+        user.update_userdata(notification_status=new_status)
         Session().commit()
-        return user_data['notification_status']
+        return user.user_data['notification_status']
diff --git a/rhodecode/lib/channelstream.py b/rhodecode/lib/channelstream.py
--- a/rhodecode/lib/channelstream.py
+++ b/rhodecode/lib/channelstream.py
@@ -84,6 +84,7 @@ def get_user_data(user_id):
         'icon_link': h.gravatar_url(user.email, 14),
         'display_name': h.person(user, 'username_or_name_or_email'),
         'display_link': h.link_to_user(user),
+        'notifications': user.user_data.get('notification_status', True)
     }
 
 
diff --git a/rhodecode/model/user.py b/rhodecode/model/user.py
--- a/rhodecode/model/user.py
+++ b/rhodecode/model/user.py
@@ -314,6 +314,7 @@ class UserModel(BaseModel):
                 new_user.update_userdata(force_password_change=True)
             if language:
                 new_user.update_userdata(language=language)
+            new_user.update_userdata(notification_status=True)
 
             self.sa.add(new_user)