diff --git a/scipost_django/scipost/templates/feeds/latest_submissions_description.html b/scipost_django/scipost/templates/feeds/latest_submissions_description.html
index f5e3b9494cf1a74404324f159e90ba0affd4dd28..8cc67b88a163ca2b7162d6a9855bcf226b2ea583 100644
--- a/scipost_django/scipost/templates/feeds/latest_submissions_description.html
+++ b/scipost_django/scipost/templates/feeds/latest_submissions_description.html
@@ -1 +1 @@
-Submitted on {{ obj.submission_date|date:'Y-m-d' }}, refereeing deadline {{ obj.reporting_deadline|date:'Y-m-d' }}.
+Submitted on {{ obj.submission_date|date:'Y-m-d' }}{% if obj.reporting_deadline %}, refereeing deadline {{ obj.reporting_deadline|date:'Y-m-d' }}{% endif %}.
diff --git a/scipost_django/scipost/templates/scipost/portal/_hx_tasklist.html b/scipost_django/scipost/templates/scipost/portal/_hx_tasklist.html
index 95e5cd5d5d6f6ee8221813138aae0cbf96d90cc1..f4bc9fdba4bf2f2ff7b96a11e11f24bea5b9aa1c 100644
--- a/scipost_django/scipost/templates/scipost/portal/_hx_tasklist.html
+++ b/scipost_django/scipost/templates/scipost/portal/_hx_tasklist.html
@@ -57,7 +57,13 @@
                     <a class="text-nowrap"
                       href="{% url 'submissions:editorial_page' submission.preprint.identifier_w_vn_nr %}">Editorial page</a>
                 </td>
-                <td class="text-nowrap">{{ submission.reporting_deadline|date:"Y-m-d" }}</td>
+                <td class="text-nowrap">
+                  {% if submission.reporting_deadline %}
+                    {{ submission.reporting_deadline|date:"Y-m-d" }}
+                  {% else %}
+                    No deadline
+                  {% endif %}
+                </td>
                 <td>
                   <ul class="m-0">
 
diff --git a/scipost_django/submissions/forms/__init__.py b/scipost_django/submissions/forms/__init__.py
index f7db2c6e400a5a1bfc55ac70f1f510fa09d0d433..933b54067ef5d749762d77ec3d2d704c5e68b927 100644
--- a/scipost_django/submissions/forms/__init__.py
+++ b/scipost_django/submissions/forms/__init__.py
@@ -556,6 +556,7 @@ class SubmissionPoolSearchForm(forms.Form):
             submissions = (
                 submissions.in_refereeing()
                 .filter(
+                    reporting_deadline__isnull=False,
                     reporting_deadline__lt=timezone.now(),
                 )
                 .exclude(eicrecommendations__isnull=False)
@@ -1799,12 +1800,6 @@ class SubmissionForm(forms.ModelForm):
         """
         submission = super().save(commit=False)
         submission.submitted_by = self.requested_by.contributor
-        submission.reporting_deadline = (
-            # give 8 days for Admission, Preassignment and Assignment stages
-            timezone.now()
-            + datetime.timedelta(days=8)
-            + self.cleaned_data["submitted_to"].refereeing_period
-        )
 
         # Save expectations
         if fulfilled_expectations := self.cleaned_data.get("fulfilled_expectations"):
diff --git a/scipost_django/submissions/management/commands/send_refereeing_reminders.py b/scipost_django/submissions/management/commands/send_refereeing_reminders.py
index 5530e7d956949277d39df1a785833a31164b0739..2d02d89433df76d72a473878c934c1016aa2c52f 100644
--- a/scipost_django/submissions/management/commands/send_refereeing_reminders.py
+++ b/scipost_django/submissions/management/commands/send_refereeing_reminders.py
@@ -64,7 +64,10 @@ class Command(BaseCommand):
                     )
                     mail_sender.send_mail()
             # one week before refereeing deadline: auto email reminder to ref
-            if workdays_between(timezone.now(), submission.reporting_deadline) == 5:
+            if (
+                submission.reporting_deadline is not None
+                and workdays_between(timezone.now(), submission.reporting_deadline) == 5
+            ):
                 for (
                     invitation
                 ) in (
diff --git a/scipost_django/submissions/managers/assignment.py b/scipost_django/submissions/managers/assignment.py
index effce0a17a241909c176f0ae5672d6b13404c5ae..691397069489cb851b63c0e4788ce235873e4320 100644
--- a/scipost_django/submissions/managers/assignment.py
+++ b/scipost_django/submissions/managers/assignment.py
@@ -20,9 +20,10 @@ class EditorialAssignmentQuerySet(models.QuerySet):
 
     def refereeing_deadline_within(self, days=7):
         now = timezone.now()
-        return self.exclude(
-            submission__reporting_deadline__gt=now + timezone.timedelta(days=days)
-        ).exclude(submission__reporting_deadline__lt=now)
+        return self.exclude(submission__reporting_deadline__isnull=True).filter(
+            submission__reporting_deadline__lt=now + timezone.timedelta(days=days),
+            submission__reporting_deadline__gt=now,
+        )
 
     def next_invitation_to_be_sent(self, submission_id):
         """Return EditorialAssignment that needs to be sent next."""
diff --git a/scipost_django/submissions/managers/referee_invitation.py b/scipost_django/submissions/managers/referee_invitation.py
index 9d26fcfeae7f4c53d77201551853bdf98370e755..0510888310281926e0324d8f5c8adb3ab7198945 100644
--- a/scipost_django/submissions/managers/referee_invitation.py
+++ b/scipost_django/submissions/managers/referee_invitation.py
@@ -48,14 +48,16 @@ class RefereeInvitationQuerySet(models.QuerySet):
         1. not responded to invite in more than 3 days.
         2. not fulfilled (but accepted) with deadline within 7 days.
         """
-        compare_3_days = timezone.now() + datetime.timedelta(days=3)
-        compare_7_days = timezone.now() + datetime.timedelta(days=7)
+        in_3_days = timezone.now() + datetime.timedelta(days=3)
+        in_7_days = timezone.now() + datetime.timedelta(days=7)
         return (
             self.filter(cancelled=False, fulfilled=False)
             .filter(
-                models.Q(accepted=None, date_last_reminded__lt=compare_3_days)
+                models.Q(accepted=None, date_last_reminded__lt=in_3_days)
                 | models.Q(
-                    accepted=True, submission__reporting_deadline__lt=compare_7_days
+                    accepted=True,
+                    submission__reporting_deadline__isnull=False,
+                    submission__reporting_deadline__lt=in_7_days,
                 )
             )
             .distinct()
@@ -66,7 +68,7 @@ class RefereeInvitationQuerySet(models.QuerySet):
         qs = self.in_process()
         pseudo_deadline = timezone.now() + datetime.timedelta(days)
         deadline = timezone.now()
-        qs = qs.filter(
+        qs = qs.exclude(submision__reporting_deadline__isnull=True).filter(
             submission__reporting_deadline__lte=pseudo_deadline,
             submission__reporting_deadline__gte=deadline,
         )
@@ -75,4 +77,8 @@ class RefereeInvitationQuerySet(models.QuerySet):
     def overdue(self):
         """Filter non-fulfilled invitations that are overdue."""
         now = timezone.now()
-        return self.in_process().filter(submission__reporting_deadline__lte=now)
+        return (
+            self.in_process()
+            .exclude(submision__reporting_deadline__isnull=True)
+            .filter(submission__reporting_deadline__lte=now)
+        )
diff --git a/scipost_django/submissions/migrations/0159_alter_submission_reporting_deadline.py b/scipost_django/submissions/migrations/0159_alter_submission_reporting_deadline.py
new file mode 100644
index 0000000000000000000000000000000000000000..bd16307cf529d3153c26af254385e7c1ae7e3c5d
--- /dev/null
+++ b/scipost_django/submissions/migrations/0159_alter_submission_reporting_deadline.py
@@ -0,0 +1,17 @@
+# Generated by Django 4.2.15 on 2024-09-18 13:30
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+    dependencies = [
+        ("submissions", "0158_submission_on_hold"),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name="submission",
+            name="reporting_deadline",
+            field=models.DateTimeField(blank=True, default=None, null=True),
+        ),
+    ]
diff --git a/scipost_django/submissions/models/referee_invitation.py b/scipost_django/submissions/models/referee_invitation.py
index 20e643dc31a100a8f33f9ec7651091cafcc09a11..d4b3c26a00ef94529580d60234afa9bb83e8531f 100644
--- a/scipost_django/submissions/models/referee_invitation.py
+++ b/scipost_django/submissions/models/referee_invitation.py
@@ -151,7 +151,12 @@ class RefereeInvitation(SubmissionRelatedObjectMixin, models.Model):
     @property
     def needs_fulfillment_reminder(self):
         """Check if isn't fullfilled but deadline is closing in."""
-        if self.accepted and not self.cancelled and not self.fulfilled:
+        if (
+            self.accepted
+            and not self.cancelled
+            and not self.fulfilled
+            and self.submission.reporting_deadline is not None
+        ):
             # Refereeing deadline closing in/overdue, but invitation isn't fulfilled yet.
             return (self.submission.reporting_deadline - timezone.now()).days < 7
         return False
@@ -159,7 +164,12 @@ class RefereeInvitation(SubmissionRelatedObjectMixin, models.Model):
     @property
     def is_overdue(self):
         """Check if isn't fullfilled but deadline has expired."""
-        if self.accepted and not self.cancelled and not self.fulfilled:
+        if (
+            self.accepted
+            and not self.cancelled
+            and not self.fulfilled
+            and self.submission.reporting_deadline is not None
+        ):
             # Refereeing deadline closing in/overdue, but invitation isn't fulfilled yet.
             return (self.submission.reporting_deadline - timezone.now()).days < 0
         return False
diff --git a/scipost_django/submissions/models/submission.py b/scipost_django/submissions/models/submission.py
index ff97fa9aaa4699af3a7faa5bc9f9384ad78d3ac0..3a58ab3f6444cf467341cdd4722ae8aad522eb53 100644
--- a/scipost_django/submissions/models/submission.py
+++ b/scipost_django/submissions/models/submission.py
@@ -304,7 +304,7 @@ class Submission(models.Model):
     referees_flagged = models.TextField(blank=True)
     referees_suggested = models.TextField(blank=True)
     remarks_for_editors = models.TextField(blank=True)
-    reporting_deadline = models.DateTimeField(default=timezone.now)
+    reporting_deadline = models.DateTimeField(null=True, blank=True, default=None)
 
     # Submission status fields
     status = models.CharField(
@@ -626,7 +626,7 @@ class Submission(models.Model):
         return qs.distinct()
 
     @property
-    def cycle(self):
+    def cycle(self) -> ShortCycle | DirectCycle | RegularCycle:
         """Get cycle object relevant for the Submission."""
         if not hasattr(self, "_cycle"):
             self.set_cycle()
@@ -743,11 +743,16 @@ class Submission(models.Model):
     @property
     def reporting_deadline_has_passed(self):
         """Check if Submission has passed its reporting deadline."""
+        if self.reporting_deadline is None:
+            return False
         return timezone.now() > self.reporting_deadline
 
     @property
     def reporting_deadline_approaching(self):
         """Check if reporting deadline is within 7 days from now but not passed yet."""
+        if self.reporting_deadline is None:
+            return False
+
         if self.status != self.IN_REFEREEING:
             # These statuses do not have a deadline
             return False
diff --git a/scipost_django/submissions/refereeing_cycles.py b/scipost_django/submissions/refereeing_cycles.py
index 8824f1195cec966a56f20f93656d250566901315..cc6f47cf9417cc39d3d639d452adc5528694019e 100644
--- a/scipost_django/submissions/refereeing_cycles.py
+++ b/scipost_django/submissions/refereeing_cycles.py
@@ -93,9 +93,10 @@ class BaseAction:
 
         if hasattr(obj, "date_invited") and obj.date_invited:
             timedelta = timezone.now() - obj.date_invited
-        if hasattr(obj, "submission"):
-            print
+        if hasattr(obj, "submission") and obj.submission.reporting_deadline:
             deadline = obj.submission.reporting_deadline - timezone.now()
+        else:
+            deadline = None
 
         # Add the domain name to the url so that it is clickable in the email
         if self.url.startswith("/"):
@@ -109,8 +110,8 @@ class BaseAction:
             author=obj.author.formal_str if getattr(obj, "author", None) else "",
             referee=getattr(obj, "referee_str", ""),
             days=timedelta.days,
-            deadline=deadline.days,
-            deadline_min=-deadline.days,
+            deadline=deadline.days if deadline else "-",
+            deadline_min=-deadline.days if deadline else "-",
             url=base_url,
             url2=self.url2,
         )
diff --git a/scipost_django/submissions/templates/submissions/_refereeing_invitations_ongoing.html b/scipost_django/submissions/templates/submissions/_refereeing_invitations_ongoing.html
index aa8e42ab20f0577a9678f1b97a33a040409f51ed..0e645057eafb97db645ffbbed533aba055a6c641 100644
--- a/scipost_django/submissions/templates/submissions/_refereeing_invitations_ongoing.html
+++ b/scipost_django/submissions/templates/submissions/_refereeing_invitations_ongoing.html
@@ -32,7 +32,11 @@
           <table>
 	    <tr>
               <th style='min-width: 100px;'>Due:</th>
-              <td>{{ invitation.submission.reporting_deadline|date:'d F Y' }}{% if invitation.submission.reporting_deadline_has_passed %} <span class="label label-sm label-danger ms-2 px-3">overdue</span> {% endif %}<td>
+              {% if invitation.submission.reporting_deadline %}
+                <td>{{ invitation.submission.reporting_deadline|date:'d F Y' }}{% if invitation.submission.reporting_deadline_has_passed %} <span class="label label-sm label-danger ms-2 px-3">overdue</span> {% endif %}</td>
+              {% else %}
+                <td>Not set</td>
+              {% endif %}
 	    </tr>
 	    <tr>
               <th>Status:</th>
diff --git a/scipost_django/submissions/templates/submissions/_refereeing_status_card.html b/scipost_django/submissions/templates/submissions/_refereeing_status_card.html
index 72092d1eabd417ade05689acd4c74fe48e8ac968..758e7ae8f558bf12e9a5b4ddb0a9c0fc56c5a4ab 100644
--- a/scipost_django/submissions/templates/submissions/_refereeing_status_card.html
+++ b/scipost_django/submissions/templates/submissions/_refereeing_status_card.html
@@ -27,7 +27,7 @@
           {% if invitation.related_report.is_in_draft %}
             You have a Report in draft, <a href="{% url 'submissions:submit_report' invitation.submission.preprint.identifier_w_vn_nr %}">finish your Report</a>.
           {% else %}
-            <a href="{% url 'submissions:submit_report' invitation.submission.preprint.identifier_w_vn_nr %}">Submit your Report</a> due on {{ invitation.submission.reporting_deadline }}.
+            <a href="{% url 'submissions:submit_report' invitation.submission.preprint.identifier_w_vn_nr %}">Submit your Report</a>{% if invitation.submission.reporting_deadline %} due on {{ invitation.submission.reporting_deadline }}{% endif %}.
           {% endif %}
         {% endif %}
       </li>
diff --git a/scipost_django/submissions/templates/submissions/_submission_author_information.html b/scipost_django/submissions/templates/submissions/_submission_author_information.html
index 58fbbf75ef5fa3c2ef440281f0c9384210edaeea..cab88d7bd8dd02e599a6487e61fef176fde61cff 100644
--- a/scipost_django/submissions/templates/submissions/_submission_author_information.html
+++ b/scipost_django/submissions/templates/submissions/_submission_author_information.html
@@ -13,7 +13,7 @@
       {% if not submission.editor_in_charge %}
         No Editor-in-charge is assigned yet. The SciPost administration will inform you as soon as one is assigned.
       {% elif submission.in_stage_in_refereeing %}
-        The refereeing round has started. The current deadline is set to {{ submission.reporting_deadline|date:'j F Y' }}.
+        The refereeing round has started{% if submission.reporting_deadline %} The current deadline is set to {{ submission.reporting_deadline|date:'j F Y' }}{% endif %}.
       {% elif submission.recommendation %}
         An Editorial Recommendation has been formulated. See its status details below.
       {% elif not submission.open_for_reporting %}
diff --git a/scipost_django/submissions/templates/submissions/_submission_quick_actions.html b/scipost_django/submissions/templates/submissions/_submission_quick_actions.html
index 54745ac3d74132fa9af00d522bfcfb9a27157c6f..4284ef39bf20ab9f5395c8666a3e8e2bdfc52ebe 100644
--- a/scipost_django/submissions/templates/submissions/_submission_quick_actions.html
+++ b/scipost_django/submissions/templates/submissions/_submission_quick_actions.html
@@ -22,7 +22,9 @@
 	    <h4 class="mb-0">
               <a href="{% url 'submissions:submit_report' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr %}">{% if unfinished_report_for_user %}Finish your report{% else %}Contribute a Report{% endif %}</a>
 	    </h4>
-	    <div class="text-danger mt-1 mb-3">Deadline for reporting: {{ submission.reporting_deadline|date:"Y-m-d" }}</div>
+      {% if submission.reporting_deadline %}
+	      <div class="text-danger mt-1 mb-3">Deadline for reporting: {{ submission.reporting_deadline|date:"Y-m-d" }}</div>
+      {% endif %}
 	  </li>
 	{% elif is_author_unchecked %}
 	  <li>
diff --git a/scipost_django/submissions/templates/submissions/admin/refereeing_overview.html b/scipost_django/submissions/templates/submissions/admin/refereeing_overview.html
index 69a4135da4356f9264ffb44e1c4314354e2d9de1..fe5ab2df7a1ceb386c7b5d5873c86c5144be4ff9 100644
--- a/scipost_django/submissions/templates/submissions/admin/refereeing_overview.html
+++ b/scipost_django/submissions/templates/submissions/admin/refereeing_overview.html
@@ -24,7 +24,7 @@
 
         <div>
           Editor-in-charge: {{ submission.editor_in_charge }}<br>
-          Refereeing deadline: {{ submission.reporting_deadline }}<br>
+          Refereeing deadline: {% if submission.reporting_deadline %}{{ submission.reporting_deadline|date:"Y-m-d" }}{% else %}not set{% endif %}<br>
           <br>
           Refereeing status summary:<br>
           {% include 'submissions/pool/_referee_invitations_status.html' with submission=submission %}
diff --git a/scipost_django/submissions/templates/submissions/author_referee_invitation_email.html b/scipost_django/submissions/templates/submissions/author_referee_invitation_email.html
index daeaddb0f43462da13a73b2dfd162b1c95f079fd..7f9fcbc78a79cf9139b0477bdcd96bc988f963e0 100644
--- a/scipost_django/submissions/templates/submissions/author_referee_invitation_email.html
+++ b/scipost_django/submissions/templates/submissions/author_referee_invitation_email.html
@@ -12,9 +12,11 @@ by {{ submission.author_list }}%0D%0A
 (see https://{{ request.get_host }}{{ submission.get_absolute_url }} ).
 %0D%0A
 %0D%0A
+{% if submission.reporting_deadline %}
 The refereeing deadline is currently set at {{ submission.reporting_deadline|date:"d M Y" }}.
 %0D%0A
 %0D%0A
+{% endif %}
 Since SciPost runs an open peer-witnessed refereeing process, your input could help in the evaluation of this manuscript. To provide your expert opinion, after logging in, you can simply follow the &quot;Contribute a Report&quot; link on the submission page linked above. You will find refereeing guidelines at https://{{ request.get_host }}{% url 'submissions:referee_guidelines' %} and further links therein.
 %0D%0A
 %0D%0A
diff --git a/scipost_django/submissions/templates/submissions/contributor_referee_invitation_email.html b/scipost_django/submissions/templates/submissions/contributor_referee_invitation_email.html
index 8444e93cdf30331e0d28ca686d1ee39f779c0081..2fd6304d426f518d818fb0ea1d1b315cce6580cb 100644
--- a/scipost_django/submissions/templates/submissions/contributor_referee_invitation_email.html
+++ b/scipost_django/submissions/templates/submissions/contributor_referee_invitation_email.html
@@ -12,9 +12,11 @@ by {{ submission.author_list }}%0D%0A
 (see https://{{ request.get_host }}{{ submission.get_absolute_url }} ).
 %0D%0A
 %0D%0A
+{% if submission.reporting_deadline %}
 The refereeing deadline is currently set at {{ submission.reporting_deadline|date:"d M Y" }}.
 %0D%0A
 %0D%0A
+{% endif %}
 Since SciPost runs an open peer-witnessed refereeing process, your input could help in the evaluation of this manuscript. To provide your expert opinion, after logging in, you can simply follow the &quot;Contribute a Report&quot; link on the submission page linked above. You will find refereeing guidelines at https://{{ request.get_host }}{% url 'submissions:referee_guidelines' %} and further links therein.
 %0D%0A
 %0D%0A
diff --git a/scipost_django/submissions/templates/submissions/pool/_submission_info_table.html b/scipost_django/submissions/templates/submissions/pool/_submission_info_table.html
index e57a5bd7c088b195776bf5feae4f2a7772ada091..ae2c0284ff81e4844db59eaefe67f10be41d04fc 100644
--- a/scipost_django/submissions/templates/submissions/pool/_submission_info_table.html
+++ b/scipost_django/submissions/templates/submissions/pool/_submission_info_table.html
@@ -89,7 +89,9 @@
   <tr>
     <td>Reporting deadline</td>
     <td>
-      {% if submission.reporting_deadline > now %}
+      {% if submission.reporting_deadline is None %}
+        not set
+      {% elif submission.reporting_deadline > now %}
         in {{ submission.reporting_deadline|timeuntil }}
       {% else %}
         {{ submission.reporting_deadline|timesince }} ago
diff --git a/scipost_django/submissions/templates/submissions/pool/editorial_page.html b/scipost_django/submissions/templates/submissions/pool/editorial_page.html
index e786939d0a4c9bc5a5dbe1d9d1a502511779bdb1..966970b8977505b483bd04b4be468904eea79144 100644
--- a/scipost_django/submissions/templates/submissions/pool/editorial_page.html
+++ b/scipost_django/submissions/templates/submissions/pool/editorial_page.html
@@ -206,7 +206,7 @@ container border border-warning border-3
       <td>
         {% if submission.is_open_for_reporting_within_deadline %}
           <span class="text-success" aria-hidden="true">{% include 'bi/check-circle-fill.html' %}</span>
-          <span class="text-muted">Open for refereeing. Deadline: {{ submission.reporting_deadline|date:"SHORT_DATE_FORMAT" }}.</span>
+          <span class="text-muted">Open for refereeing.{% if submission.reporting_deadline %} Deadline: {{ submission.reporting_deadline|date:"SHORT_DATE_FORMAT" }}.{% endif %}</span>
         {% else %}
           <span class="text-danger" aria-hidden="true">{% include 'bi/x-circle-fill.html' %}</span>
           <span class="text-muted">
@@ -232,7 +232,7 @@ container border border-warning border-3
         {% endif %}
 
         {% if submission.can_reset_reporting_deadline %}
-          {% if submission.is_open_for_reporting_within_deadline %}
+          {% if submission.is_open_for_reporting_within_deadline and submission.reporting_deadline is not None %}
             <div class="my-1">
               You may extend the refereeing deadline by
               <a href="{% url 'submissions:extend_refereeing_deadline' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr days=2 %}">2 days</a>,
@@ -255,7 +255,7 @@ container border border-warning border-3
             </div>
           {% else %}
             <div class="mt-1">
-              Open the refereeing round by setting a refereeing deadline:
+              Set a refereeing deadline:
               <form class="d-inline-block" action="{% url 'submissions:set_refereeing_deadline' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr %}" method="post">
                 {% csrf_token %}
                 <div class="row mx-2">
@@ -338,11 +338,13 @@ container border border-warning border-3
                 <a href="{% url 'submissions:select_referee' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr %}">Invite the first referee here</a>
               {% endif %}
             </li>
-            <li>Extend the refereeing deadline (currently {{ submission.reporting_deadline|date:'Y-m-d' }}{% if submission.reporting_deadline_has_passed %} <span class="ms-1 label label-sm label-outline-danger text-uppercase">The reporting deadline has passed</span>{% endif %}) by
-              <a href="{% url 'submissions:extend_refereeing_deadline' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr days=2 %}">2 days</a>,
-              <a href="{% url 'submissions:extend_refereeing_deadline' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr days=7 %}">1 week</a> or
-              <a href="{% url 'submissions:extend_refereeing_deadline' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr days=14 %}">2 weeks</a>
-            </li>
+            {% if submission.reporting_deadline %}
+              <li>Extend the refereeing deadline (currently {{ submission.reporting_deadline|date:'Y-m-d' }}{% if submission.reporting_deadline_has_passed %} <span class="ms-1 label label-sm label-outline-danger text-uppercase">The reporting deadline has passed</span>{% endif %}) by
+                <a href="{% url 'submissions:extend_refereeing_deadline' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr days=2 %}">2 days</a>,
+                <a href="{% url 'submissions:extend_refereeing_deadline' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr days=7 %}">1 week</a> or
+                <a href="{% url 'submissions:extend_refereeing_deadline' identifier_w_vn_nr=submission.preprint.identifier_w_vn_nr days=14 %}">2 weeks</a>
+              </li>
+            {% endif %}
           {% endif %}
           {% if submission.can_reset_reporting_deadline %}
             <li>
diff --git a/scipost_django/submissions/templates/submissions/referee_invitations_form.html b/scipost_django/submissions/templates/submissions/referee_invitations_form.html
index de1a49fbc47b190b6e860fef911711228c5fa1a9..11912fe867e151de858b2c9ffa0525b87fb2cc3f 100644
--- a/scipost_django/submissions/templates/submissions/referee_invitations_form.html
+++ b/scipost_django/submissions/templates/submissions/referee_invitations_form.html
@@ -30,7 +30,9 @@
       <div class="col-12">
         <h2 class="highlight">Accept or Decline this Refereeing Invitation</h2>
         <h3>Please let us know if you can provide us with a Report for this Submission:</h3>
-        <p>We will expect your report by <b>{{invitation.submission.reporting_deadline}}</b></p>
+        {% if invitation.submission.reporting_deadline %}
+          <p>We will expect your report by <b>{{invitation.submission.reporting_deadline}}</b></p>
+        {% endif %}
         <form action="{% url 'submissions:accept_or_decline_ref_invitations' invitation_id=invitation.id %}" method="post">
           {% csrf_token %}
           {{ form|bootstrap:'4,8' }}
diff --git a/scipost_django/submissions/utils.py b/scipost_django/submissions/utils.py
index 5eddd8967e553b026d035aac54d02a7d3ca60e63..e4ba7386964a5b6cccb005657bc2a604b39324e9 100644
--- a/scipost_django/submissions/utils.py
+++ b/scipost_django/submissions/utils.py
@@ -124,10 +124,14 @@ class SubmissionUtils(BaseMailUtil):
             "\n\nA Submission Page has been activated at "
             f"https://{domain}/submission/"
             + cls.assignment.submission.preprint.identifier_w_vn_nr
-            + " and a refereeing round has been started, with deadline "
-            "currently set at "
-            + datetime.datetime.strftime(
-                cls.assignment.submission.reporting_deadline, "%Y-%m-%d"
+            + (
+                " and a refereeing round has been started, with deadline "
+                "currently set at "
+                + datetime.datetime.strftime(
+                    cls.assignment.submission.reporting_deadline, "%Y-%m-%d"
+                )
+                if cls.assignment.submission.reporting_deadline
+                else ""
             )
             + ".\n\n"
             "During the refereeing round, you are welcome to provide replies to any "
@@ -153,10 +157,14 @@ class SubmissionUtils(BaseMailUtil):
             "\n<p>has successfully passed the assignment stage.</p>"
             f'\n<p>A <a href="https://{domain}/submission/'
             + '{{ identifier_w_vn_nr }}">'
-            "Submission Page</a> has been activated "
-            "and a refereeing round has been started, with deadline "
-            "currently set at {{ deadline }}.</p>"
-            "<h3>Further procedure</h3>"
+            "Submission Page</a> has been activated"
+            + (
+                " and a refereeing round has been started, with deadline "
+                "currently set at {{ deadline }}.</p>"
+                if cls.assignment.submission.reporting_deadline
+                else ""
+            )
+            + "<h3>Further procedure</h3>"
             "<p>During the refereeing round, you are welcome to provide replies to any "
             "Report or Comment posted on your Submission (you can do so from the "
             "Submission Page; you will be informed by email of any such Report or "
@@ -180,8 +188,12 @@ class SubmissionUtils(BaseMailUtil):
             "sub_title": cls.assignment.submission.title,
             "author_list": cls.assignment.submission.author_list,
             "identifier_w_vn_nr": cls.assignment.submission.preprint.identifier_w_vn_nr,
-            "deadline": datetime.datetime.strftime(
-                cls.assignment.submission.reporting_deadline, "%Y-%m-%d"
+            "deadline": (
+                datetime.datetime.strftime(
+                    cls.assignment.submission.reporting_deadline, "%Y-%m-%d"
+                )
+                if cls.assignment.submission.reporting_deadline
+                else ""
             ),
         }
         email_text_html += "<br/>" + EMAIL_FOOTER
@@ -252,9 +264,13 @@ class SubmissionUtils(BaseMailUtil):
             'the "Contribute a Report" link at '
             f"https://{domain}/submission/"
             + cls.invitation.submission.preprint.identifier_w_vn_nr
-            + " before the reporting deadline (currently set at "
-            + datetime.datetime.strftime(
-                cls.invitation.submission.reporting_deadline, "%Y-%m-%d"
+            + (
+                " before the reporting deadline (currently set at "
+                + datetime.datetime.strftime(
+                    cls.invitation.submission.reporting_deadline, "%Y-%m-%d"
+                )
+                if cls.invitation.submission.reporting_deadline
+                else ""
             )
             + "; your report will be automatically recognized as an invited report). "
             "You might want to make sure you are familiar with our refereeing code of conduct "
@@ -285,8 +301,13 @@ class SubmissionUtils(BaseMailUtil):
             "Your report can thereafter be submitted by simply clicking on "
             'the "Contribute a Report" link at '
             f'the <a href="https://{domain}' + '/submission/{{ identifier_w_vn_nr }}">'
-            "Submission's page</a> before the reporting deadline (currently set at "
-            "{{ deadline }}; your report will be automatically recognized as an invited report).</p>"
+            "Submission's page</a>"
+            + (
+                " before the reporting deadline (currently set at " "{{ deadline }}"
+                if cls.invitation.submission.reporting_deadline
+                else ""
+            )
+            + "; your report will be automatically recognized as an invited report).</p>"
             "\n<p>You might want to make sure you are familiar with our "
             f'<a href="https://{domain}/journals/journals_terms_and_conditions">'
             "refereeing code of conduct</a> and with the "
@@ -305,8 +326,12 @@ class SubmissionUtils(BaseMailUtil):
             "sub_title": cls.invitation.submission.title,
             "author_list": cls.invitation.submission.author_list,
             "identifier_w_vn_nr": cls.invitation.submission.preprint.identifier_w_vn_nr,
-            "deadline": datetime.datetime.strftime(
-                cls.invitation.submission.reporting_deadline, "%Y-%m-%d"
+            "deadline": (
+                datetime.datetime.strftime(
+                    cls.invitation.submission.reporting_deadline, "%Y-%m-%d"
+                )
+                if cls.invitation.submission.reporting_deadline
+                else ""
             ),
             "invitation_key": cls.invitation.invitation_key,
         }
@@ -378,9 +403,13 @@ class SubmissionUtils(BaseMailUtil):
             'the "Contribute a Report" link at '
             f"https://{domain}/submission/"
             + cls.invitation.submission.preprint.identifier_w_vn_nr
-            + " before the reporting deadline (currently set at "
-            + datetime.datetime.strftime(
-                cls.invitation.submission.reporting_deadline, "%Y-%m-%d"
+            + (
+                " before the reporting deadline (currently set at "
+                + datetime.datetime.strftime(
+                    cls.invitation.submission.reporting_deadline, "%Y-%m-%d"
+                )
+                if cls.invitation.submission.reporting_deadline
+                else ""
             )
             + "; your report will be automatically recognized as an invited report). "
             "You might want to make sure you are familiar with our refereeing code of conduct "
@@ -414,7 +443,8 @@ class SubmissionUtils(BaseMailUtil):
             "author_list": cls.invitation.submission.author_list,
             "identifier_w_vn_nr": cls.invitation.submission.preprint.identifier_w_vn_nr,
             "deadline": datetime.datetime.strftime(
-                cls.invitation.submission.reporting_deadline, "%Y-%m-%d"
+                cls.invitation.submission.reporting_deadline,
+                "%Y-%m-%d" if cls.invitation.submission.reporting_deadline else "",
             ),
         }
         email_text_html += "<br/>" + EMAIL_FOOTER
diff --git a/scipost_django/submissions/views/__init__.py b/scipost_django/submissions/views/__init__.py
index 52ab7969b5d8a2cd884d2ca33eac6370d2628135..5289dc82efe2ff0ee48f3842728735472030fbff 100644
--- a/scipost_django/submissions/views/__init__.py
+++ b/scipost_django/submissions/views/__init__.py
@@ -29,6 +29,7 @@ from django.template import Template, Context
 from django.urls import reverse, reverse_lazy
 from django.utils import timezone
 from django.utils.html import format_html
+from django.utils.timezone import timedelta
 from django.views.generic.base import RedirectView
 from django.views.generic.detail import SingleObjectMixin, DetailView
 from django.views.generic.edit import CreateView, UpdateView
@@ -1305,7 +1306,7 @@ def select_referee(request, identifier_w_vn_nr):
     Search for a referee in the set of Profiles, and if none is found,
     create a new Profile and return to this page for further processing.
     """
-    submission = get_object_or_404(
+    submission: Submission = get_object_or_404(
         Submission.objects.in_pool_filter_for_eic(request.user),
         preprint__identifier_w_vn_nr=identifier_w_vn_nr,
     )
@@ -1323,11 +1324,16 @@ def select_referee(request, identifier_w_vn_nr):
             )
         )
 
+    # If an explicit refereeing deadline does not exist, assume the cycle's default deadline
+    refereeing_deadline = submission.reporting_deadline or (
+        timezone.now() + timedelta(days=submission.cycle.days_for_refereeing)
+    )
+
     context = {
         "submission": submission,
         "new_profile_form": SimpleProfileForm(),
         "workdays_left_to_report": workdays_between(
-            timezone.now(), submission.reporting_deadline
+            timezone.now(), refereeing_deadline
         ),
     }
     return render(request, "submissions/select_referee.html", context)
@@ -1980,6 +1986,16 @@ def extend_refereeing_deadline(request, identifier_w_vn_nr, days):
         preprint__identifier_w_vn_nr=identifier_w_vn_nr,
     )
 
+    # Guard against null reporting_deadline
+    if submission.reporting_deadline is None:
+        messages.warning(request, "Reporting deadline is not set.")
+        return redirect(
+            reverse(
+                "submissions:editorial_page",
+                kwargs={"identifier_w_vn_nr": identifier_w_vn_nr},
+            )
+        )
+
     Submission.objects.filter(pk=submission.id).update(
         reporting_deadline=submission.reporting_deadline
         + datetime.timedelta(days=int(days)),
diff --git a/scipost_django/templates/email/fellows/email_fellow_tasklist.html b/scipost_django/templates/email/fellows/email_fellow_tasklist.html
index 60e3d45b3e30532ab88644e78586ebf316a5f1e8..8147866f852f2e7b943dbfe00eb0a468e74062a7 100644
--- a/scipost_django/templates/email/fellows/email_fellow_tasklist.html
+++ b/scipost_django/templates/email/fellows/email_fellow_tasklist.html
@@ -86,7 +86,7 @@
             <p>
               <em>by {{ assignment.submission.author_list }}</em>
             </p>
-            <p>Refereeing deadline: {{ assignment.submission.reporting_deadline|date:"Y-m-d" }}.</p>
+            <p>Refereeing deadline: {% if assignment.submission.reporting_deadline %}{{ assignment.submission.reporting_deadline|date:"Y-m-d" }}{% else %}not set{% endif %} .</p>
             <p><em>You can manage this Submission from its </em><a href="https://{{ domain }}{% url 'submissions:editorial_page' assignment.submission.preprint.identifier_w_vn_nr %}">Editorial page</a>.</p>
           </li>
       {% endfor %}
diff --git a/scipost_django/templates/email/referees/confirmation_invitation_response.html b/scipost_django/templates/email/referees/confirmation_invitation_response.html
index ee689c770997f1bb295e1dd5044e5f2d354c68e7..663e5612721d7230e0ff469e347b4f14ec9c2e95 100644
--- a/scipost_django/templates/email/referees/confirmation_invitation_response.html
+++ b/scipost_django/templates/email/referees/confirmation_invitation_response.html
@@ -16,7 +16,10 @@
 
 <p>
   {% if invitation.accepted %}
-    We will look forward to receiving your Report by the reporting deadline {{ invitation.submission.reporting_deadline|date:'Y-m-d' }}.
+    We will look forward to receiving your Report
+    {% if invitation.submission.reporting_deadline %}
+    by the reporting deadline {{ invitation.submission.reporting_deadline|date:'Y-m-d' }}
+    {% endif %}.
     <br/>
     Many thanks for your collaboration,
   {% else %}
diff --git a/scipost_django/templates/email/referees/invite_contributor_to_referee.html b/scipost_django/templates/email/referees/invite_contributor_to_referee.html
index 1fb8ff8cf6903bfb12de015df8df2a46a4190296..1b8cb6d476a28725650153647f787fa7aefb9133 100644
--- a/scipost_django/templates/email/referees/invite_contributor_to_referee.html
+++ b/scipost_django/templates/email/referees/invite_contributor_to_referee.html
@@ -15,7 +15,7 @@
   Please <a href="https://{{ domain }}{% url 'submissions:accept_or_decline_ref_invitations' %}">accept or decline</a> (login required) this invitation as soon as possible (ideally within the next 2 working days).
 </p>
 <p>
-  If you accept, your report can be submitted by simply clicking on the "Contribute a Report" link on <a href="https://{{ domain }}{{ invitation.submission.get_absolute_url }}">the Submission Page</a> before the reporting deadline (currently set at {{ invitation.submission.reporting_deadline|date:'d-m-Y' }}; your report will be automatically recognized as an invited report).
+  If you accept, your report can be submitted by simply clicking on the "Contribute a Report" link on <a href="https://{{ domain }}{{ invitation.submission.get_absolute_url }}">the Submission Page</a>{% if invitation.submission.reporting_deadline %} before the reporting deadline (currently set at {{ invitation.submission.reporting_deadline|date:'d-m-Y' }}){% endif %}; your report will be automatically recognized as an invited report.
 </p>
 <p>
   You might want to make sure you are familiar with our <a href="https://{{ domain }}{% url 'submissions:editorial_procedure' %}">editorial procedure</a>, <a href="https://{{ domain }}{% url 'submissions:referee_guidelines' %}">referee guidelines</a> and <a href="https://{{ domain }}{% url 'journals:journals_terms_and_conditions' %}#referee_code_of_conduct">referee code of conduct</a>.
diff --git a/scipost_django/templates/email/referees/invite_contributor_to_referee_reminder1.html b/scipost_django/templates/email/referees/invite_contributor_to_referee_reminder1.html
index 9db976533b6ed8e5624b41f9894a127ac1e08ec4..4807472f3e2ddac1e390b9c2c5924937fe8c8a87 100644
--- a/scipost_django/templates/email/referees/invite_contributor_to_referee_reminder1.html
+++ b/scipost_django/templates/email/referees/invite_contributor_to_referee_reminder1.html
@@ -23,7 +23,7 @@
   Please <a href="https://{{ domain }}{% url 'submissions:accept_or_decline_ref_invitations' %}">accept or decline</a> (login required) this invitation.
 </p>
 <p>
-  If you accept, your report can be submitted by simply clicking on the "Contribute a Report" link on <a href="https://{{ domain }}{{ invitation.submission.get_absolute_url }}">the Submission Page</a> before the reporting deadline (currently set at {{ invitation.submission.reporting_deadline|date:'d M Y' }}; your report will be automatically recognized as an invited report).
+  If you accept, your report can be submitted by simply clicking on the "Contribute a Report" link on <a href="https://{{ domain }}{{ invitation.submission.get_absolute_url }}">the Submission Page</a>{% if invitation.submission.reporting_deadline %} before the reporting deadline (currently set at {{ invitation.submission.reporting_deadline|date:'d-m-Y' }}){% endif %}; your report will be automatically recognized as an invited report.
 </p>
 <p>
   You might want to make sure you are familiar with our <a href="https://{{ domain }}{% url 'submissions:editorial_procedure' %}">editorial procedure</a>, <a href="https://{{ domain }}{% url 'submissions:referee_guidelines' %}">referee guidelines</a> and <a href="https://{{ domain }}{% url 'journals:journals_terms_and_conditions' %}#referee_code_of_conduct">referee code of conduct</a>.
diff --git a/scipost_django/templates/email/referees/invite_contributor_to_referee_reminder2.html b/scipost_django/templates/email/referees/invite_contributor_to_referee_reminder2.html
index 4475fdd077a6d007b8c3bc3ff0b127c01118a71a..e1331c55e223ab014ce0f20b11d23c3b9348b53b 100644
--- a/scipost_django/templates/email/referees/invite_contributor_to_referee_reminder2.html
+++ b/scipost_django/templates/email/referees/invite_contributor_to_referee_reminder2.html
@@ -23,7 +23,7 @@
   Please <a href="https://{{ domain }}{% url 'submissions:accept_or_decline_ref_invitations' %}">accept or decline</a> (login required) this invitation.
 </p>
 <p>
-  If you accept, your report can be submitted by simply clicking on the "Contribute a Report" link on <a href="https://{{ domain }}{{ invitation.submission.get_absolute_url }}">the Submission Page</a> before the reporting deadline (currently set at {{ invitation.submission.reporting_deadline|date:'d M Y' }}; your report will be automatically recognized as an invited report).
+  If you accept, your report can be submitted by simply clicking on the "Contribute a Report" link on <a href="https://{{ domain }}{{ invitation.submission.get_absolute_url }}">the Submission Page</a>{% if invitation.submission.reporting_deadline %} before the reporting deadline (currently set at {{ invitation.submission.reporting_deadline|date:'d-m-Y' }}){% endif %}; your report will be automatically recognized as an invited report.
 </p>
 <p>
   You might want to make sure you are familiar with our <a href="https://{{ domain }}{% url 'submissions:editorial_procedure' %}">editorial procedure</a>, <a href="https://{{ domain }}{% url 'submissions:referee_guidelines' %}">referee guidelines</a> and <a href="https://{{ domain }}{% url 'journals:journals_terms_and_conditions' %}#referee_code_of_conduct">referee code of conduct</a>.
diff --git a/scipost_django/templates/email/referees/reinvite_contributor_to_referee.html b/scipost_django/templates/email/referees/reinvite_contributor_to_referee.html
index ed5c67906d95f0d0c31cec8e9f08b62ab8e7d663..8c13f3af94ee290d2000fe0a7b5dbfb026f82649 100644
--- a/scipost_django/templates/email/referees/reinvite_contributor_to_referee.html
+++ b/scipost_django/templates/email/referees/reinvite_contributor_to_referee.html
@@ -14,7 +14,7 @@
   have submitted a new (revised) version of their manuscript to SciPost. On behalf of the Editor-in-charge {{ invitation.submission.editor_in_charge.profile.get_title_display }} {{ invitation.submission.editor_in_charge.user.first_name }} {{ invitation.submission.editor_in_charge.user.last_name }}, we would like to invite you to review this new version.
 </p>
 <p>
-  Your report can be submitted by clicking on the <a href="https://{{ domain }}{% url 'submissions:submit_report' identifier_w_vn_nr=invitation.submission.preprint.identifier_w_vn_nr %}">Contribute a Report</a> link on the <a href="https://{{ domain }}{{ invitation.submission.get_absolute_url }}">Submission's Page</a> before the reporting deadline (currently set at {{ invitation.submission.reporting_deadline|date:'N j, Y' }}).
+  Your report can be submitted by clicking on the <a href="https://{{ domain }}{% url 'submissions:submit_report' identifier_w_vn_nr=invitation.submission.preprint.identifier_w_vn_nr %}">Contribute a Report</a> link on the <a href="https://{{ domain }}{{ invitation.submission.get_absolute_url }}">Submission's Page</a>{% if invitation.submission.reporting_deadline %} before the reporting deadline (currently set at {{ invitation.submission.reporting_deadline|date:'N j, Y' }}){% endif %}.
 </p>
 <p>
   You might want to make sure you are familiar with our <a href="https://{{ domain }}{% url 'submissions:editorial_procedure' %}">editorial procedure</a>, <a href="https://{{ domain }}{% url 'submissions:referee_guidelines' %}">referee guidelines</a> and <a href="https://{{ domain }}{% url 'journals:journals_terms_and_conditions' %}#referee_code_of_conduct">referee code of conduct</a>.