diff --git a/changes/changelog.d/511.bugfix b/changes/changelog.d/511.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..0c4b61375a42a914942e3243fc947a5950bcb6f3
--- /dev/null
+++ b/changes/changelog.d/511.bugfix
@@ -0,0 +1 @@
+i18n: Update page title when changing the App's language. (#511)
diff --git a/front/src/main.js b/front/src/main.js
index fbe676106bb40dbfdd44bd05b29e08e8768929ea..9f058d8ecbef6491660647a67e815d0b5beb8f62 100644
--- a/front/src/main.js
+++ b/front/src/main.js
@@ -57,28 +57,17 @@ Vue.use(GetTextPlugin, {
 Vue.use(VueMasonryPlugin)
 Vue.use(VueLazyload)
 Vue.config.productionTip = false
-Vue.directive('title', {
-  inserted: (el, binding) => {
-    let parts = []
-    let instanceName = store.state.instance.settings.instance.name.value
-    if (instanceName.length === 0) {
-      instanceName = 'Funkwhale'
-    }
-    parts.unshift(instanceName)
-    parts.unshift(binding.value)
-    document.title = parts.join(' - ')
-  },
-  updated: (el, binding) => {
-    let parts = []
-    let instanceName = store.state.instance.settings.instance.name.value
-    if (instanceName.length === 0) {
-      instanceName = 'Funkwhale'
-    }
-    parts.unshift(instanceName)
-    parts.unshift(binding.value)
-    document.title = parts.join(' - ')
+Vue.directive('title', function (el, binding) {
+  let parts = []
+  let instanceName = store.state.instance.settings.instance.name.value
+  if (instanceName.length === 0) {
+    instanceName = 'Funkwhale'
   }
-})
+  parts.unshift(instanceName)
+  parts.unshift(binding.value)
+  document.title = parts.join(' - ')
+  }
+)
 axios.interceptors.request.use(function (config) {
   // Do something before request is sent
   if (store.state.auth.token) {