diff --git a/scipost/managers.py b/scipost/managers.py
index 698d5b3b40a0a6bf37c7b8feded1185481d31baa..a87d7e42c3b81f0943b61e7370dadf3e842ddc89 100644
--- a/scipost/managers.py
+++ b/scipost/managers.py
@@ -28,6 +28,12 @@ class ContributorQuerySet(models.QuerySet):
         """Return all validated and vetted Contributors."""
         return self.filter(user__is_active=True, status=NORMAL_CONTRIBUTOR)
 
+    def nonduplicates(self):
+        """
+        Filter out duplicate Contributors.
+        """
+        return self.exclude(duplicate_of__isnull=False)
+
     def available(self):
         """Filter out the Contributors that have active unavailability periods."""
         today = timezone.now().date()
diff --git a/submissions/admin.py b/submissions/admin.py
index 077b32916e639bbcfe5dace1dd663977ed67f64d..fd137b4835bed0b7f95da4add2e0119414fa02c8 100644
--- a/submissions/admin.py
+++ b/submissions/admin.py
@@ -25,13 +25,13 @@ admin.site.register(iThenticateReport)
 class SubmissionAdminForm(forms.ModelForm):
     authors = forms.ModelMultipleChoiceField(
         required=False,
-        queryset=Contributor.objects.order_by('user__last_name'))
+        queryset=Contributor.objects.nonduplicates().order_by('user__last_name'))
     authors_claims = forms.ModelMultipleChoiceField(
         required=False,
-        queryset=Contributor.objects.order_by('user__last_name'))
+        queryset=Contributor.objects.nonduplicates().order_by('user__last_name'))
     authors_false_claims = forms.ModelMultipleChoiceField(
         required=False,
-        queryset=Contributor.objects.order_by('user__last_name'))
+        queryset=Contributor.objects.nonduplicates().order_by('user__last_name'))
     is_resubmission_of = forms.ModelChoiceField(
         required=False,
         queryset=Submission.objects.order_by('-preprint__identifier_w_vn_nr'))