diff --git a/librarian/views.py b/librarian/views.py
index 397403530ed040c5f2a036a5d478a3ef08193a3b..7d132b5b08ab906c9eb9448a3124f7cb59d38fef 100644
--- a/librarian/views.py
+++ b/librarian/views.py
@@ -1,7 +1,7 @@
 from django.contrib.admin.views.decorators import staff_member_required
 from django.contrib.auth.models import User
-from django.db.models import Q
 from django.shortcuts import render, get_object_or_404, redirect
+from django.urls import reverse
 from django.utils.http import urlencode
 from django.utils import timezone
 from django.views.decorators.http import require_POST
@@ -607,6 +607,18 @@ def search_all(request):
             results.append(Author.objects.get(id=hit.meta.id))
         elif hit.meta.index == "publishers":
             results.append(Publisher.objects.get(id=hit.meta.id))
+        elif hit.meta.index == "users":
+            u = User.objects.get(id=hit.meta.id)
+            results.append({
+                "librarian_search_template": "search_display/librarian/types/user.html",
+                "librarian_details_url": reverse("librarian:user_detail", args=[u.id]),
+                "id": u.id,
+                "username": u.username,
+                "first_name": u.first_name,
+                "last_name": u.last_name,
+                "email": u.email,
+                "card_number": u.profile.card_number
+            })
 
     # Search results
     return render(request, "librarian/search_results.html", {"results": results, "query": query})