diff --git a/funders/admin.py b/funders/admin.py
index 7914c2dba1a6f82ee2811c7b6ae4088e14d4b17a..137801194c7e7cb6170df75392ba7f068d1e39ca 100644
--- a/funders/admin.py
+++ b/funders/admin.py
@@ -10,4 +10,17 @@ from .models import Funder, Grant
 admin.site.register(Funder)
 
 
-admin.site.register(Grant)
+
+class GrantAdmin(admin.ModelAdmin):
+    search_fields = [
+        'funder__name',
+        'number',
+        'recipient_name',
+        'recipiend__user__last_name',
+    ]
+    autocomplete_fields = [
+        'funder',
+        'recipient',
+    ]
+
+admin.site.register(Grant, GrantAdmin)
diff --git a/helpdesk/admin.py b/helpdesk/admin.py
index 91c33beb14708828f6761a3d7f008ff55f1a06e8..fbd4593ab461b392cdebeeb9bbf8966b74687ee1 100644
--- a/helpdesk/admin.py
+++ b/helpdesk/admin.py
@@ -19,9 +19,17 @@ admin.site.register(Queue, QueueAdmin)
 class FollowupInline(admin.TabularInline):
     model = Followup
     extra = 0
+    autocomplete_fields = [
+        'by',
+    ]
+
 
 class TicketAdmin(admin.ModelAdmin):
     search_fields = ['description', 'defined_by']
     inlines = [FollowupInline]
+    autocomplete_fields = [
+        'defined_by',
+        'assigned_to',
+    ]
 
 admin.site.register(Ticket, TicketAdmin)
diff --git a/invitations/admin.py b/invitations/admin.py
index ea1a25bb4a36fdd5ba38f1c9ea58a239f7ac0391..d1ca4607ee74842a50b692d4adc0823af6608b9c 100644
--- a/invitations/admin.py
+++ b/invitations/admin.py
@@ -12,7 +12,11 @@ class RegistrationInvitationAdmin(admin.ModelAdmin):
     search_fields = ['first_name', 'last_name', 'email', 'invitation_key']
     list_display = ['__str__', 'invitation_type', 'invited_by', 'status']
     list_filter = ['invitation_type', 'message_style', 'status']
-
+    autocomplete_fields = [
+        'profile',
+        'invited_by',
+        'created_by',
+    ]
 
 admin.site.register(RegistrationInvitation, RegistrationInvitationAdmin)
 
@@ -23,6 +27,12 @@ class CitationNotificationAdmin(admin.ModelAdmin):
                      'contributor__user__first_name', 'contributor__user__last_name']
     list_display = ['__str__', 'created_by', 'date_sent', 'processed']
     list_filter = ['processed']
-
+    autocomplete_fields = [
+        'invitation',
+        'contributor',
+        'submission',
+        'publication',
+        'created_by',
+    ]
 
 admin.site.register(CitationNotification, CitationNotificationAdmin)
diff --git a/journals/admin.py b/journals/admin.py
index d89cbecce6986517d3a29c8e1f93cf98afe150bf..6451142b72fd843e1d65ea291ea697783e7c555f 100644
--- a/journals/admin.py
+++ b/journals/admin.py
@@ -36,14 +36,14 @@ admin.site.register(Issue, IssueAdmin)
 
 
 class PublicationAdminForm(forms.ModelForm):
-    accepted_submission = forms.ModelChoiceField(
-        queryset=Submission.objects.order_by('-preprint__identifier_w_vn_nr'))
-    authors_claims = forms.ModelMultipleChoiceField(
-        required=False,
-        queryset=Contributor.objects.order_by('user__last_name'))
-    authors_false_claims = forms.ModelMultipleChoiceField(
-        required=False,
-        queryset=Contributor.objects.order_by('user__last_name'))
+    # accepted_submission = forms.ModelChoiceField(
+    #     queryset=Submission.objects.order_by('-preprint__identifier_w_vn_nr'))
+    # authors_claims = forms.ModelMultipleChoiceField(
+    #     required=False,
+    #     queryset=Contributor.objects.order_by('user__last_name'))
+    # authors_false_claims = forms.ModelMultipleChoiceField(
+    #     required=False,
+    #     queryset=Contributor.objects.order_by('user__last_name'))
 
     class Meta:
         model = Publication
@@ -58,11 +58,18 @@ class ReferenceInline(admin.TabularInline):
 class AuthorsInline(admin.TabularInline):
     model = PublicationAuthorsTable
     extra = 0
+    autocomplete_fields = [
+        'profile',
+        'affiliations',
+    ]
 
 
 class OrgPubFractionInline(admin.TabularInline):
     model = OrgPubFraction
     list_display = ('organization', 'publication', 'fraction')
+    autocomplete_fields = [
+        'organization',
+    ]
 
 
 class PublicationAdmin(admin.ModelAdmin):
@@ -72,7 +79,14 @@ class PublicationAdmin(admin.ModelAdmin):
     list_filter = ['in_issue']
     inlines = [AuthorsInline, ReferenceInline, OrgPubFractionInline]
     form = PublicationAdminForm
-
+    autocomplete_fields = [
+        'accepted_submission',
+        'authors_claims',
+        'authors_false_claims',
+        'grants',
+        'funders_generic',
+        'topics',
+    ]
 
 admin.site.register(Publication, PublicationAdmin)
 
@@ -113,10 +127,20 @@ class DepositAdmin(admin.ModelAdmin):
 admin.site.register(Deposit, DepositAdmin)
 
 
-admin.site.register(DOAJDeposit)
+class DOAJDepositAdmin(admin.ModelAdmin):
+    autocomplete_fields = [
+        'publication',
+    ]
+
+admin.site.register(DOAJDeposit, DOAJDepositAdmin)
 
 
 admin.site.register(GenericDOIDeposit)
 
 
-admin.site.register(PublicationUpdate)
+class PublicationUpdateAdmin(admin.ModelAdmin):
+    autocomplete_fields = [
+        'publication',
+    ]
+
+admin.site.register(PublicationUpdate, PublicationUpdateAdmin)
diff --git a/ontology/admin.py b/ontology/admin.py
index 9a68bf929d5597efecbc6dfb429dc6bf73868069..7f12060900aab040a2daed516547eecaa49b3175 100644
--- a/ontology/admin.py
+++ b/ontology/admin.py
@@ -14,7 +14,9 @@ admin.site.register(Tag, TagAdmin)
 
 
 class TopicAdmin(admin.ModelAdmin):
-    pass
+    search_fields = [
+        'name'
+    ]
 
 admin.site.register(Topic, TopicAdmin)