diff --git a/submissions/views.py b/submissions/views.py
index 7f53451343204d046ff2f976e5e9fb5a96faee4f..b1418fecc0af9cb5f6dd923874b7382903eea06d 100644
--- a/submissions/views.py
+++ b/submissions/views.py
@@ -1067,6 +1067,16 @@ def eic_recommendation(request, arxiv_identifier_w_vn_nr):
         return redirect(reverse('submissions:editorial_page',
                                 args=[submission.arxiv_identifier_w_vn_nr]))
 
+    # Find EditorialAssignment for user
+    try:
+        assignment = submission.editorial_assignments.get(submission=submission,
+                                                          to=request.user.contributor)
+    except EditorialAssignment.DoesNotExist:
+        messages.warning(request, ('You cannot formulate an Editorial Recommendation,'
+                                   ' because you are not assigned as editor-in-charge.'))
+        return redirect(reverse('submissions:editorial_page',
+                                args=[submission.arxiv_identifier_w_vn_nr]))
+
     form = EICRecommendationForm(request.POST or None)
     if form.is_valid():
         # Create new EICRecommendation
@@ -1103,8 +1113,6 @@ def eic_recommendation(request, arxiv_identifier_w_vn_nr):
         submission.save()
 
         # The EIC has fulfilled this editorial assignment.
-        assignment = get_object_or_404(EditorialAssignment,
-                                       submission=submission, to=request.user.contributor)
         assignment.completed = True
         assignment.save()
         messages.success(request, 'Your Editorial Recommendation has been succesfully submitted')