diff --git a/scipost_django/scipost/forms.py b/scipost_django/scipost/forms.py
index 43b03ece263b1788688140202a64ebff03f1aef0..ddb0258020ee723e3a05ffd38fb84b5d79a4d5aa 100644
--- a/scipost_django/scipost/forms.py
+++ b/scipost_django/scipost/forms.py
@@ -418,9 +418,6 @@ class UpdatePersonalDataForm(forms.ModelForm):
             {"placeholder": "full URL, e.g. https://[yourpage].org"}
         ),
     )
-    accepts_SciPost_emails = forms.BooleanField(
-        required=False, label="You accept to receive unsolicited emails from SciPost"
-    )
 
     class Meta:
         model = Contributor
@@ -431,7 +428,6 @@ class UpdatePersonalDataForm(forms.ModelForm):
             "orcid_id",
             "address",
             "webpage",
-            "accepts_SciPost_emails",
         ]
 
     def __init__(self, *args, **kwargs):
@@ -444,18 +440,12 @@ class UpdatePersonalDataForm(forms.ModelForm):
         ]
         self.fields["orcid_id"].initial = self.instance.profile.orcid_id
         self.fields["webpage"].initial = self.instance.profile.webpage
-        self.fields["accepts_SciPost_emails"].initial = (
-            self.instance.profile.accepts_SciPost_emails
-        )
 
     def save(self):
         self.instance.profile.title = self.cleaned_data["title"]
         self.instance.profile.acad_field = self.cleaned_data["acad_field"]
         self.instance.profile.orcid_id = self.cleaned_data["orcid_id"]
         self.instance.profile.webpage = self.cleaned_data["webpage"]
-        self.instance.profile.accepts_SciPost_emails = self.cleaned_data[
-            "accepts_SciPost_emails"
-        ]
         self.instance.profile.save()
         self.instance.profile.specialties.set(self.cleaned_data["specialties"])
         return super().save()
diff --git a/scipost_django/scipost/templates/scipost/personal_page/_hx_accepts_refereeing_requests_checkbox.html b/scipost_django/scipost/templates/scipost/personal_page/_hx_accepts_refereeing_requests_checkbox.html
new file mode 100644
index 0000000000000000000000000000000000000000..af162da97265d874a047c2ff0a274c13d52bd4c3
--- /dev/null
+++ b/scipost_django/scipost/templates/scipost/personal_page/_hx_accepts_refereeing_requests_checkbox.html
@@ -0,0 +1,7 @@
+<div class="d-flex flex-row gap-3 align-items-center">
+  <label for="accepts-refereeing-requests">I accept to receive refereeing requests</label>
+  <input type="checkbox" id="accepts-refereeing-requests" name="accepts_refereeing_requests" hx-trigger="change" hx-target="this" hx-post="{% url 'scipost:_hx_accepts_refereeing_requests_checkbox' %}" 
+    {% if user.contributor.profile.accepts_refereeing_requests %}checked{% endif %}
+     />
+
+  </div>
diff --git a/scipost_django/scipost/templates/scipost/personal_page/_hx_accepts_scipost_emails_checkbox.html b/scipost_django/scipost/templates/scipost/personal_page/_hx_accepts_scipost_emails_checkbox.html
new file mode 100644
index 0000000000000000000000000000000000000000..f094dcb99a2c9e1a20f4dfcf27e0e3250cceb148
--- /dev/null
+++ b/scipost_django/scipost/templates/scipost/personal_page/_hx_accepts_scipost_emails_checkbox.html
@@ -0,0 +1,7 @@
+<div class="d-flex flex-row gap-3 align-items-center">
+  <label for="accepts-scipost-emails">I accept to receive (unsolicited) emails from SciPost</label>
+  <input type="checkbox" id="accepts-scipost-emails" name="accepts_scipost_emails" hx-trigger="change" hx-target="this" hx-post="{% url 'scipost:_hx_accepts_scipost_emails_checkbox' %}" 
+    {% if user.contributor.profile.accepts_SciPost_emails %}checked{% endif %}
+     />
+
+  </div>
diff --git a/scipost_django/scipost/templates/scipost/personal_page/_hx_communication.html b/scipost_django/scipost/templates/scipost/personal_page/_hx_communication.html
index e60bd7ed2633eb87ff91213d3d69c5cedaf0e324..096f66765d3673129a4e736b973cc664f52450e5 100644
--- a/scipost_django/scipost/templates/scipost/personal_page/_hx_communication.html
+++ b/scipost_django/scipost/templates/scipost/personal_page/_hx_communication.html
@@ -1,7 +1,7 @@
 {% include 'scipost/personal_page/_hx_tablist.html' with selected='communication' %}
 
 
-<div class="row">
+<div class="row mb-0">
   <div class="col-12">
     <div class="card bg-light">
       <div class="card-body">
@@ -14,9 +14,9 @@
 </div>
 
 
-<div class="row">
+<div class="row mb-0">
   <div class="col-12">
-    <h3 class="mb-3">Email addresses associated to your Profile:</h3>
+    <h3 class="mt-3">Email addresses associated to your Profile:</h3>
 
     <a role="button"
        type="button"
@@ -29,9 +29,9 @@
 
   </div>
 
-  <div class="row">
-    <div class="col-12">
-      <h3 class="mb-3">Mailing list subscriptions:</h3>
+  <div class="row mb-0">
+    <div class="col-12 col-md-8">
+      <h3 class="mt-3">Mailing list subscriptions:</h3>
  
 
       {% for mailing_list in contributor.eligible_mailing_lists.all %}
@@ -42,5 +42,13 @@
 
  
     </div>
+
+    <div class="col-12 col-md-4">
+      <h3 class="mt-3">Preferences:</h3>
+ 
+      {% include 'scipost/personal_page/_hx_accepts_scipost_emails_checkbox.html' %}
+      {% include 'scipost/personal_page/_hx_accepts_refereeing_requests_checkbox.html' %}
+ 
+    </div>
   </div>
 </div>
diff --git a/scipost_django/scipost/urls.py b/scipost_django/scipost/urls.py
index dbcbd71a3231e171368ff280ea81effd33579ed0..abd0bd3251317d21de943228c3bba165cfa8b9de 100644
--- a/scipost_django/scipost/urls.py
+++ b/scipost_django/scipost/urls.py
@@ -344,6 +344,16 @@ urlpatterns = [
     path(
         "update_personal_data", views.update_personal_data, name="update_personal_data"
     ),
+    path(
+        "_hx_accepts_scipost_emails_checkbox",
+        views._hx_accepts_scipost_emails_checkbox,
+        name="_hx_accepts_scipost_emails_checkbox",
+    ),
+    path(
+        "_hx_accepts_refereeing_requests_checkbox",
+        views._hx_accepts_refereeing_requests_checkbox,
+        name="_hx_accepts_refereeing_requests_checkbox",
+    ),
     path("totp/", views.TOTPListView.as_view(), name="totp"),
     path("totp/create", views.TOTPDeviceCreateView.as_view(), name="totp_create"),
     path(
diff --git a/scipost_django/scipost/views.py b/scipost_django/scipost/views.py
index de22df7a55e6872453e89e6a77005b6976e37e21..26e3082c78e67e8d83b6e51bb5d6582e08b49da6 100644
--- a/scipost_django/scipost/views.py
+++ b/scipost_django/scipost/views.py
@@ -4,6 +4,7 @@ __license__ = "AGPL v3"
 
 import urllib
 
+from django.template.response import TemplateResponse
 from django.utils import timezone
 from django.shortcuts import get_object_or_404, render
 from django.conf import settings
@@ -1269,6 +1270,36 @@ def personal_page_hx_author_replies(request):
     return render(request, "scipost/personal_page/_hx_author_replies.html", context)
 
 
+def _hx_accepts_scipost_emails_checkbox(request):
+    profile = request.user.contributor.profile
+
+    if request.method == "POST":
+        profile.accepts_SciPost_emails = (
+            request.POST.get("accepts_scipost_emails") == "on"
+        )
+        profile.save()
+
+    return TemplateResponse(
+        request,
+        "scipost/personal_page/_hx_accepts_scipost_emails_checkbox.html",
+    )
+
+
+def _hx_accepts_refereeing_requests_checkbox(request):
+    profile = request.user.contributor.profile
+
+    if request.method == "POST":
+        profile.accepts_refereeing_requests = (
+            request.POST.get("accepts_refereeing_requests") == "on"
+        )
+        profile.save()
+
+    return TemplateResponse(
+        request,
+        "scipost/personal_page/_hx_accepts_refereeing_requests_checkbox.html",
+    )
+
+
 def _update_personal_data_user_only(request):
     user_form = UpdateUserDataForm(request.POST or None, instance=request.user)
     if user_form.is_valid():