diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index cbbb8957517c1d66eeeaac0e4e99ed41a45ac4fd..90541bc3ce046d672e6042648e0998421c8218b3 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -42,6 +42,7 @@ Fixed
 * System status view wasn't accessible through new frontend if a check failed.
 * Progress page didn't show error message on failure.
 * Dynamic routes were not removed/hid when the respective object registering it was deleted.
+* Django messages were not displayed in Vue frontend.
 
 `3.0b3`_ - 2023-03-19
 ---------------------
diff --git a/aleksis/core/frontend/components/app/App.vue b/aleksis/core/frontend/components/app/App.vue
index 94dc5ebc0964398d5ee4ee04dbe2ba556c902b33..554def4e849e3ed455692ba009cb90934149f287 100644
--- a/aleksis/core/frontend/components/app/App.vue
+++ b/aleksis/core/frontend/components/app/App.vue
@@ -254,7 +254,6 @@ export default {
     },
     messages: {
       query: gqlMessages,
-      pollInterval: 1000,
     },
   },
   methods: {
@@ -288,6 +287,7 @@ export default {
         } else {
           this.error404 = false;
         }
+        this.$apollo.queries.messages.refetch();
       },
       immediate: true,
     },
diff --git a/aleksis/core/schema/__init__.py b/aleksis/core/schema/__init__.py
index 24a68978aa2a40dce7aa6fbf3546e1e5929d62cb..a11fbb427d3c585ec145c83446dbab9cc7b856e4 100644
--- a/aleksis/core/schema/__init__.py
+++ b/aleksis/core/schema/__init__.py
@@ -150,7 +150,7 @@ class Query(graphene.ObjectType):
             return None
 
     def resolve_messages(root, info, **kwargs):
-        return get_messages(info)
+        return get_messages(info.context)
 
     def resolve_custom_menu_by_name(root, info, name, **kwargs):
         return CustomMenu.get_default(name)