diff --git a/invitations/mixins.py b/invitations/mixins.py
index f8ed09e0c419458c71bbf457d534a729052800b5..bf6629acd43fdf91ca9bb2d7d7e1fb4f6d59e9e4 100644
--- a/invitations/mixins.py
+++ b/invitations/mixins.py
@@ -73,4 +73,7 @@ class SaveAndSendFormMixin(BaseFormViewMixin):
         if isinstance(instance, RegistrationInvitation):
             if instance.invitation_type == INVITATION_EDITORIAL_FELLOW:
                 self.alternative_from_address = ('J-S Caux', 'jscaux@scipost.org')
+            if not instance.invited_by and self.has_permission_to_send_mail:
+                instance.invited_by = self.request.user
+                instance.save()
         return super().post(request, *args, **kwargs)
diff --git a/submissions/forms.py b/submissions/forms.py
index 99ec16dd5c4b04c6b7fb0b1cd3e0af3af6917258..7dc9bc305a3a998a3c345678da02edf64172fe09 100644
--- a/submissions/forms.py
+++ b/submissions/forms.py
@@ -833,9 +833,10 @@ class SubmissionCycleChoiceForm(forms.ModelForm):
     def __init__(self, *args, **kwargs):
         super().__init__(*args, **kwargs)
         self.fields['refereeing_cycle'].default = None
-        other_submission = self.instance.other_versions_pool.first()
-        if other_submission:
-            self.fields['referees_reinvite'].queryset = other_submission.referee_invitations.all()
+        other_submissions = self.instance.other_versions_pool.all()
+        if other_submissions:
+            self.fields['referees_reinvite'].queryset = RefereeInvitation.objects.filter(
+                submission__in=other_submissions).distinct()
 
 
 class iThenticateReportForm(forms.ModelForm):
diff --git a/submissions/views.py b/submissions/views.py
index cfc2f65ca2cae59c7e58a1689b8c458dc0e490db..382fa621324a8a87fcf27089e76503a435768ce9 100644
--- a/submissions/views.py
+++ b/submissions/views.py
@@ -960,6 +960,7 @@ def decline_ref_invitation(request, invitation_key):
             return render(request, 'submissions/referee_invitations_decline.html', context)
 
         invitation.accepted = False
+        invitation.date_responded = timezone.now()
         invitation.refusal_reason = form.cleaned_data['refusal_reason']
         invitation.save()
         SubmissionUtils.load({'invitation': invitation}, request)
diff --git a/virtualmeetings/views.py b/virtualmeetings/views.py
index d12759c0f27c7cddf47ccfc94a64271d3ca5ba9e..828068b7a46a28fa22038dde6925deecbc39a430 100644
--- a/virtualmeetings/views.py
+++ b/virtualmeetings/views.py
@@ -13,7 +13,8 @@ from .models import VGM, Feedback, Nomination, Motion
 
 from scipost.constants import SCIPOST_SUBJECT_AREAS
 from scipost.forms import RemarkForm
-from scipost.models import RegistrationInvitation, Contributor, Remark
+from scipost.models import Contributor, Remark
+from invitations.models import RegistrationInvitation
 
 
 @login_required
@@ -34,8 +35,8 @@ def VGM_detail(request, VGM_id):
     current_Fellows = Contributor.objects.filter(
         user__groups__name='Editorial College').order_by('user__last_name')
 
-    pending_inv_Fellows = RegistrationInvitation.objects.pending_invited_fellows()
-    declined_inv_Fellows = RegistrationInvitation.objects.declined_invited_fellows()
+    pending_inv_Fellows = RegistrationInvitation.objects.for_fellows().no_response()
+    declined_inv_Fellows = RegistrationInvitation.objects.for_fellows().declined()
     spec_list = SCIPOST_SUBJECT_AREAS  # subject_areas_dict
     nomination_form = NominationForm()
     nominations = Nomination.objects.filter(VGM=VGM_instance, accepted=None).order_by('last_name')