diff --git a/scipost_django/submissions/forms/__init__.py b/scipost_django/submissions/forms/__init__.py
index e94841fd9994d5da0540c4c0f33edf5b8c411ebe..ddce84b2af68e6ea2293c0e6ca05bcbf1058a9de 100644
--- a/scipost_django/submissions/forms/__init__.py
+++ b/scipost_django/submissions/forms/__init__.py
@@ -3156,17 +3156,14 @@ class EICRecommendationForm(forms.ModelForm):
                     latest_recommendation.recommendation
                 )
 
-        for_journal_qs = Journal.objects.active().filter(
-            # The journals which can be recommended for are those falling under
-            # the responsibility of the College of the journal submitted to
-            college=self.submission.submitted_to.college
-        )
-        if self.submission.submitted_to.name.partition(" ")[0] == "SciPost":
-            # Submitted to a SciPost journal, so Selections is accessible
-            for_journal_qs = for_journal_qs | Journal.objects.filter(
-                name="SciPost Selections"
+        alternative_journal_ids = (
+            self.submission.submitted_to.alternative_journals.active().values_list(
+                "id", flat=True
             )
-        self.fields["for_journal"].empty_label = "Any/All Journals"
+        )
+        for_journal_qs = Journal.objects.filter(
+            id__in=list(alternative_journal_ids) + [self.submission.submitted_to.id]
+        )
         self.fields["for_journal"].queryset = for_journal_qs
         if self.submission.submitted_to.name.partition(" ")[0] == "SciPost":
             # Submitted to a SciPost journal, so Core and Selections are accessible
@@ -3401,6 +3398,14 @@ class RecommendationVoteForm(forms.Form):
         required=False,
     )
 
+    def __init__(self, *args, **kwargs):
+        self.recommendation: "EICRecommendation" = kwargs.pop("recommendation")
+        super().__init__(*args, **kwargs)
+
+        self.fields["alternative_for_journal"].queryset = (
+            self.recommendation.submission.submitted_to.alternative_journals.all()
+        )
+
     def clean(self):
         cleaned_data = super().clean()
         if cleaned_data["vote"] == "disagree" and (
diff --git a/scipost_django/submissions/views/__init__.py b/scipost_django/submissions/views/__init__.py
index 192fbe284c31f61fb576650fc44090108509c957..ccb80f1843b53985b1c826bc64f7307ccf091944 100644
--- a/scipost_django/submissions/views/__init__.py
+++ b/scipost_django/submissions/views/__init__.py
@@ -2948,9 +2948,9 @@ def _hx_recommendation_vote_form(request, rec_id):
     initial = {"vote": previous_vote}
 
     if request.POST:
-        form = RecommendationVoteForm(request.POST)
+        form = RecommendationVoteForm(request.POST, recommendation=recommendation)
     else:
-        form = RecommendationVoteForm(initial=initial)
+        form = RecommendationVoteForm(initial=initial, recommendation=recommendation)
     if form.is_valid():
         # Delete previous tierings and alternative recs, irrespective of the vote
         SubmissionTiering.objects.filter(