diff --git a/aleksis/core/frontend/components/app/SidenavSearch.vue b/aleksis/core/frontend/components/app/SidenavSearch.vue
index 281e5abb9ffc3d07e9607f6af4e076d192b9fd8a..9901c345fc0b55a30afab7ec0edab9fd35474d49 100644
--- a/aleksis/core/frontend/components/app/SidenavSearch.vue
+++ b/aleksis/core/frontend/components/app/SidenavSearch.vue
@@ -55,6 +55,7 @@ export default {
       skip() {
         return !this.q;
       },
+      fetchPolicy: "network-only",
     },
   },
 };
diff --git a/aleksis/core/schema/__init__.py b/aleksis/core/schema/__init__.py
index f7ab8487f2bcb7f5566e79951c69e7e8f9ec2ac2..70a2b23910a06039aea1f88d753cd205cbe75f6d 100644
--- a/aleksis/core/schema/__init__.py
+++ b/aleksis/core/schema/__init__.py
@@ -121,12 +121,14 @@ class Query(graphene.ObjectType):
     def resolve_search_snippets(root, info, query, limit=-1, **kwargs):
         indexed_models = UnifiedIndex().get_indexed_models()
         allowed_object_ids = get_allowed_object_ids(info.context.user, indexed_models)
-        results = SearchQuerySet().filter(id__in=allowed_object_ids).filter(text=AutoQuery(query))
 
-        if limit < 0:
-            return results
-
-        return results[:limit]
+        if allowed_object_ids:
+            results = SearchQuerySet().filter(id__in=allowed_object_ids).filter(text=AutoQuery(query))
+            if limit < 0:
+                return results
+            return results[:limit]
+        else:
+            return None
 
     def resolve_messages(root, info, **kwargs):
         return get_messages(info)