diff --git a/aleksis/core/templates/core/base.html b/aleksis/core/templates/core/base.html
index fe536557737d05a04c93d9bfbedfcc63f1bbe60b..1aaaf85ca133c0657e8589597bda13f0cdb38de2 100644
--- a/aleksis/core/templates/core/base.html
+++ b/aleksis/core/templates/core/base.html
@@ -1,7 +1,7 @@
 {# -*- engine:django -*- #}
 
 
-{% load i18n menu_generator static sass_tags any_js pwa %}
+{% load i18n menu_generator static sass_tags any_js pwa rules %}
 
 
 <!DOCTYPE html>
@@ -71,7 +71,8 @@
         </object>
       </a>
     </li>
-    {% if user.is_authenticated %}
+    {% has_perm 'core.search' user as search %}
+    {% if search %}
       <li class="search">
         <form method="get" action="{% url "haystack_search" %}" id="search-form" class="autocomplete">
           <div class="search-wrapper">
diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index 37867877d40fc084667fccceb6308d1904b48a40..6fe5bfd22e7cdde6d8fb9e75f5cf16f4e904a822 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -357,7 +357,6 @@ def delete_announcement(request: HttpRequest, pk: int) -> HttpResponse:
     return redirect("announcements")
 
 
-@permission_required("core.search")
 def searchbar_snippets(request: HttpRequest) -> HttpResponse:
     query = request.GET.get('q', '')
     limit = int(request.GET.get('limit', '5'))