diff --git a/client/components/stats/Heatmap.vue b/client/components/stats/Heatmap.vue
index 46ac9609..4e491621 100644
--- a/client/components/stats/Heatmap.vue
+++ b/client/components/stats/Heatmap.vue
@@ -1,7 +1,7 @@
 <template>
   <div id="heatmap" class="w-full">
     <div class="mx-auto" :style="{ height: innerHeight + 160 + 'px', width: innerWidth + 52 + 'px' }" style="background-color: rgba(13, 17, 23, 0)">
-      <p class="mb-2 px-1 text-sm text-gray-200">{{ $getString('MessageListeningSessionsInTheLastYear', [Object.values(daysListening).length]) }}</p>
+      <p class="mb-2 px-1 text-sm text-gray-200">{{ $getString('MessageDaysListenedInTheLastYear', [daysListenedInTheLastYear]) }}</p>
       <div class="border border-white border-opacity-25 rounded py-2 w-full" style="background-color: #232323" :style="{ height: innerHeight + 80 + 'px' }">
         <div :style="{ width: innerWidth + 'px', height: innerHeight + 'px' }" class="ml-10 mt-5 absolute" @mouseover="mouseover" @mouseout="mouseout">
           <div v-for="dayLabel in dayLabels" :key="dayLabel.label" :style="dayLabel.style" class="absolute top-0 left-0 text-gray-300">{{ dayLabel.label }}</div>
@@ -37,6 +37,7 @@ export default {
       innerHeight: 13 * 7,
       blockWidth: 13,
       data: [],
+      daysListenedInTheLastYear: 0,
       monthLabels: [],
       tooltipEl: null,
       tooltipTextEl: null,
@@ -213,7 +214,8 @@ export default {
         }
         dates.push(dateObj)
 
-        if (dateObj.value) {
+        if (dateObj.value > 0) {
+          this.daysListenedInTheLastYear++
           if (dateObj.value > maxValue) maxValue = dateObj.value
           if (!minValue || dateObj.value < minValue) minValue = dateObj.value
         }
@@ -260,6 +262,7 @@ export default {
       const heatmapEl = document.getElementById('heatmap')
       this.contentWidth = heatmapEl.clientWidth
       this.maxInnerWidth = this.contentWidth - 52
+      this.daysListenedInTheLastYear = 0
       this.buildData()
     }
   },
diff --git a/client/strings/bg.json b/client/strings/bg.json
index bc4db4f6..b6aff288 100644
--- a/client/strings/bg.json
+++ b/client/strings/bg.json
@@ -629,7 +629,6 @@
   "MessageItemsSelected": "{0} избрани",
   "MessageItemsUpdated": "{0} елемента обновени",
   "MessageJoinUsOn": "Присъединете се към нас",
-  "MessageListeningSessionsInTheLastYear": "{0} слушателски сесии през последната година",
   "MessageLoading": "Зареждане...",
   "MessageLoadingFolders": "Зареждане на Папки...",
   "MessageM4BFailed": "M4B Провалено!",
diff --git a/client/strings/bn.json b/client/strings/bn.json
index e88db2e5..9b7f6d18 100644
--- a/client/strings/bn.json
+++ b/client/strings/bn.json
@@ -763,7 +763,6 @@
   "MessageItemsSelected": "{0}টি আইটেম নির্বাচিত",
   "MessageItemsUpdated": "{0}টি আইটেম আপডেট করা হয়েছে",
   "MessageJoinUsOn": "আমাদের সাথে যোগ দিন",
-  "MessageListeningSessionsInTheLastYear": "গত বছরে {0}টি শোনার সেশন",
   "MessageLoading": "লোড হচ্ছে.।",
   "MessageLoadingFolders": "ফোল্ডার লোড হচ্ছে...",
   "MessageLogsDescription": "লগগুলি JSON ফাইল হিসাবে <code>/metadata/logs</code>-এ সংরক্ষণ করা হয়। ক্র্যাশ লগগুলি <code>/metadata/logs/crash_logs.txt</code>-এ সংরক্ষণ করা হয়।",
diff --git a/client/strings/cs.json b/client/strings/cs.json
index 3db3ddaa..30614fbd 100644
--- a/client/strings/cs.json
+++ b/client/strings/cs.json
@@ -771,7 +771,6 @@
   "MessageItemsSelected": "{0} vybraných položek",
   "MessageItemsUpdated": "{0} položky byly aktualizovány",
   "MessageJoinUsOn": "Přidejte se k nám",
-  "MessageListeningSessionsInTheLastYear": "{0} poslechových relací za poslední rok",
   "MessageLoading": "Načítá se...",
   "MessageLoadingFolders": "Načítám složky...",
   "MessageLogsDescription": "Protokoly se ukládají do souborů JSON v <code>/metadata/logs</code>. Protokoly o pádech jsou uloženy v <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/da.json b/client/strings/da.json
index 0f7b1eed..d9c510af 100644
--- a/client/strings/da.json
+++ b/client/strings/da.json
@@ -539,7 +539,6 @@
   "MessageItemsSelected": "{0} elementer valgt",
   "MessageItemsUpdated": "{0} elementer opdateret",
   "MessageJoinUsOn": "Deltag i os på",
-  "MessageListeningSessionsInTheLastYear": "{0} lyttesessioner i det sidste år",
   "MessageLoading": "Indlæser...",
   "MessageLoadingFolders": "Indlæser mapper...",
   "MessageM4BFailed": "M4B mislykkedes!",
diff --git a/client/strings/de.json b/client/strings/de.json
index 6ac20fab..9e276f18 100644
--- a/client/strings/de.json
+++ b/client/strings/de.json
@@ -771,7 +771,6 @@
   "MessageItemsSelected": "{0} ausgewählte Medien",
   "MessageItemsUpdated": "{0} Medien aktualisiert",
   "MessageJoinUsOn": "Besuche uns auf",
-  "MessageListeningSessionsInTheLastYear": "{0} Ereignisse im letzten Jahr",
   "MessageLoading": "Wird geladen …",
   "MessageLoadingFolders": "Lade Ordner...",
   "MessageLogsDescription": "Die Logs werdern in <code>/metadata/logs</code> als JSON Dateien gespeichert. Crash logs werden in <code>/metadata/logs/crash_logs.txt</code> gespeichert.",
diff --git a/client/strings/en-us.json b/client/strings/en-us.json
index e94e5197..f7af6aed 100644
--- a/client/strings/en-us.json
+++ b/client/strings/en-us.json
@@ -758,6 +758,7 @@
   "MessageConfirmResetProgress": "Are you sure you want to reset your progress?",
   "MessageConfirmSendEbookToDevice": "Are you sure you want to send {0} ebook \"{1}\" to device \"{2}\"?",
   "MessageConfirmUnlinkOpenId": "Are you sure you want to unlink this user from OpenID?",
+  "MessageDaysListenedInTheLastYear": "{0} days listened in the last year",
   "MessageDownloadingEpisode": "Downloading episode",
   "MessageDragFilesIntoTrackOrder": "Drag files into correct track order",
   "MessageEmbedFailed": "Embed Failed!",
@@ -773,7 +774,6 @@
   "MessageItemsSelected": "{0} Items Selected",
   "MessageItemsUpdated": "{0} Items Updated",
   "MessageJoinUsOn": "Join us on",
-  "MessageListeningSessionsInTheLastYear": "{0} listening sessions in the last year",
   "MessageLoading": "Loading...",
   "MessageLoadingFolders": "Loading folders...",
   "MessageLogsDescription": "Logs are stored in <code>/metadata/logs</code> as JSON files. Crash logs are stored in <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/es.json b/client/strings/es.json
index 4196b6dd..6ef7ee8c 100644
--- a/client/strings/es.json
+++ b/client/strings/es.json
@@ -771,7 +771,6 @@
   "MessageItemsSelected": "{0} Elementos Seleccionados",
   "MessageItemsUpdated": "{0} Elementos Actualizados",
   "MessageJoinUsOn": "Únetenos en",
-  "MessageListeningSessionsInTheLastYear": "{0} sesiones de escucha en el último año",
   "MessageLoading": "Cargando...",
   "MessageLoadingFolders": "Cargando archivos...",
   "MessageLogsDescription": "Logs son almacenados en <code>/metadata/logs</code> en archivos bajo formato JSON. Logs de fallos son almacenados en <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/et.json b/client/strings/et.json
index 835666f8..bb1b0182 100644
--- a/client/strings/et.json
+++ b/client/strings/et.json
@@ -611,7 +611,6 @@
   "MessageItemsSelected": "{0} Valitud üksust",
   "MessageItemsUpdated": "{0} Üksust on uuendatud",
   "MessageJoinUsOn": "Liitu meiega",
-  "MessageListeningSessionsInTheLastYear": "Kuulamissessioone viimase aasta jooksul: {0}",
   "MessageLoading": "Laadimine...",
   "MessageLoadingFolders": "Kaustade laadimine...",
   "MessageM4BFailed": "M4B ebaõnnestus!",
diff --git a/client/strings/fr.json b/client/strings/fr.json
index 2dfe5b0b..544bcc9b 100644
--- a/client/strings/fr.json
+++ b/client/strings/fr.json
@@ -765,7 +765,6 @@
   "MessageItemsSelected": "{0} éléments sélectionnés",
   "MessageItemsUpdated": "{0} éléments mis à jour",
   "MessageJoinUsOn": "Rejoignez-nous sur",
-  "MessageListeningSessionsInTheLastYear": "{0} sessions d’écoute l’an dernier",
   "MessageLoading": "Chargement…",
   "MessageLoadingFolders": "Chargement des dossiers…",
   "MessageLogsDescription": "Les journaux sont stockés dans <code>/metadata/logs</code> sous forme de fichiers JSON. Les journaux d’incidents sont stockés dans <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/he.json b/client/strings/he.json
index 71a6df9e..1bc87ace 100644
--- a/client/strings/he.json
+++ b/client/strings/he.json
@@ -642,7 +642,6 @@
   "MessageItemsSelected": "{0} פריטים נבחרו",
   "MessageItemsUpdated": "{0} פריטים עודכנו",
   "MessageJoinUsOn": "הצטרף אלינו ב-",
-  "MessageListeningSessionsInTheLastYear": "{0} מפגשי האזנה בשנה האחרונה",
   "MessageLoading": "טוען...",
   "MessageLoadingFolders": "טוען תיקיות...",
   "MessageM4BFailed": "M4B נכשל!",
diff --git a/client/strings/hr.json b/client/strings/hr.json
index 8b824128..f3946c58 100644
--- a/client/strings/hr.json
+++ b/client/strings/hr.json
@@ -771,7 +771,6 @@
   "MessageItemsSelected": "{0} odabranih stavki",
   "MessageItemsUpdated": "{0} stavki ažurirano",
   "MessageJoinUsOn": "Pridruži nam se na",
-  "MessageListeningSessionsInTheLastYear": "{0} slušanja u prošloj godini",
   "MessageLoading": "Učitavam...",
   "MessageLoadingFolders": "Učitavam mape...",
   "MessageLogsDescription": "Zapisnici se čuvaju u <code>/metadata/logs</code> u obliku JSON datoteka. Zapisnici pada sustava čuvaju se u datoteci <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/hu.json b/client/strings/hu.json
index 25f9a9be..492bddfb 100644
--- a/client/strings/hu.json
+++ b/client/strings/hu.json
@@ -764,7 +764,6 @@
   "MessageItemsSelected": "{0} kiválasztott elem",
   "MessageItemsUpdated": "{0} frissített elem",
   "MessageJoinUsOn": "Csatlakozzon hozzánk a",
-  "MessageListeningSessionsInTheLastYear": "{0} hallgatási munkamenet az elmúlt évben",
   "MessageLoading": "Betöltés...",
   "MessageLoadingFolders": "Mappák betöltése...",
   "MessageLogsDescription": "A naplók a <code>/metadata/logs</code> mappában JSON-fájlokként tárolódnak. Az összeomlási naplók a <code>/metadata/logs/crash_logs.txt</code> fájlban tárolódnak.",
diff --git a/client/strings/it.json b/client/strings/it.json
index 633dea89..1fdb3ac5 100644
--- a/client/strings/it.json
+++ b/client/strings/it.json
@@ -762,7 +762,6 @@
   "MessageItemsSelected": "{0} oggetti Selezionati",
   "MessageItemsUpdated": "{0} Oggetti aggiornati",
   "MessageJoinUsOn": "Unisciti a noi su",
-  "MessageListeningSessionsInTheLastYear": "{0} sessioni di ascolto nell'ultimo anno",
   "MessageLoading": "Caricamento…",
   "MessageLoadingFolders": "Caricamento Cartelle...",
   "MessageLogsDescription": "I log vengono archiviati nel percorso <code>/metadata/logs</code> as JSON files. I registri degli arresti anomali vengono archiviati nel percorso <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/lt.json b/client/strings/lt.json
index 8c902f5a..41718145 100644
--- a/client/strings/lt.json
+++ b/client/strings/lt.json
@@ -563,7 +563,6 @@
   "MessageItemsSelected": "Pasirinkti {0} elementai (-ų)",
   "MessageItemsUpdated": "Atnaujinti {0} elementai (-ų)",
   "MessageJoinUsOn": "Prisijunkite prie mūsų",
-  "MessageListeningSessionsInTheLastYear": "{0} klausymo sesijų per paskutinius metus",
   "MessageLoading": "Kraunama...",
   "MessageLoadingFolders": "Kraunami aplankai...",
   "MessageM4BFailed": "M4B Nepavyko!",
diff --git a/client/strings/nl.json b/client/strings/nl.json
index 97bb1d01..33e330e1 100644
--- a/client/strings/nl.json
+++ b/client/strings/nl.json
@@ -758,7 +758,6 @@
   "MessageItemsSelected": "{0} onderdelen geselecteerd",
   "MessageItemsUpdated": "{0} onderdelen bijgewerkt",
   "MessageJoinUsOn": "Doe mee op",
-  "MessageListeningSessionsInTheLastYear": "{0} luistersessies in het laatste jaar",
   "MessageLoading": "Aan het laden...",
   "MessageLoadingFolders": "Mappen aan het laden...",
   "MessageLogsDescription": "Logs worden opgeslagen in <code>/metadata/logs</code> als JSON-bestanden. Crashlogs worden opgeslagen in <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/no.json b/client/strings/no.json
index 553a852e..592a8ee4 100644
--- a/client/strings/no.json
+++ b/client/strings/no.json
@@ -769,7 +769,6 @@
   "MessageItemsSelected": "{0} Gjenstander valgt",
   "MessageItemsUpdated": "{0} Gjenstander oppdatert",
   "MessageJoinUsOn": "Følg oss nå",
-  "MessageListeningSessionsInTheLastYear": "{0} Lyttesesjoner iløpet av siste året",
   "MessageLoading": "Laster...",
   "MessageLoadingFolders": "Laster mapper...",
   "MessageM4BFailed": "M4B mislykkes!",
diff --git a/client/strings/pl.json b/client/strings/pl.json
index d8cf9848..ce0eaa16 100644
--- a/client/strings/pl.json
+++ b/client/strings/pl.json
@@ -657,7 +657,6 @@
   "MessageInsertChapterBelow": "Wstaw rozdział poniżej",
   "MessageItemsSelected": "{0} zaznaczone elementy",
   "MessageJoinUsOn": "Dołącz do nas na",
-  "MessageListeningSessionsInTheLastYear": "Sesje słuchania w ostatnim roku: {0}",
   "MessageLoading": "Ładowanie...",
   "MessageLoadingFolders": "Ładowanie folderów...",
   "MessageLogsDescription": "Logi zapisane są w <code>/metadata/logs</code> jako pliki JSON. Logi awaryjne są zapisane w <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/pt-br.json b/client/strings/pt-br.json
index b6d7e7e3..07a1c79f 100644
--- a/client/strings/pt-br.json
+++ b/client/strings/pt-br.json
@@ -630,7 +630,6 @@
   "MessageItemsSelected": "{0} Itens Selecionados",
   "MessageItemsUpdated": "{0} Itens Atualizados",
   "MessageJoinUsOn": "Junte-se a nós",
-  "MessageListeningSessionsInTheLastYear": "{0} sessões de escuta no ano anterior",
   "MessageLoading": "Carregando...",
   "MessageLoadingFolders": "Carregando pastas...",
   "MessageLogsDescription": "Os logs estão armazenados em <code>/metadata/logs</code> como arquivos JSON. Logs de crash estão armazenados em <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/ru.json b/client/strings/ru.json
index 41129bde..be15a463 100644
--- a/client/strings/ru.json
+++ b/client/strings/ru.json
@@ -771,7 +771,6 @@
   "MessageItemsSelected": "{0} Элементов выделено",
   "MessageItemsUpdated": "{0} Элементов обновлено",
   "MessageJoinUsOn": "Присоединяйтесь к нам в",
-  "MessageListeningSessionsInTheLastYear": "{0} сеансов прослушивания в прошлом году",
   "MessageLoading": "Загрузка...",
   "MessageLoadingFolders": "Загрузка каталогов...",
   "MessageLogsDescription": "Журналы хранятся в <code>/metadata/logs</code> в виде JSON-файлов. Журналы сбоев хранятся в <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/sl.json b/client/strings/sl.json
index 3c304eaa..d2fa86d6 100644
--- a/client/strings/sl.json
+++ b/client/strings/sl.json
@@ -771,7 +771,6 @@
   "MessageItemsSelected": "{0} izbranih elementov",
   "MessageItemsUpdated": "Št. posodobljenih elementov: {0}",
   "MessageJoinUsOn": "Pridružite se nam",
-  "MessageListeningSessionsInTheLastYear": "{0} sej poslušanja v zadnjem letu",
   "MessageLoading": "Nalagam...",
   "MessageLoadingFolders": "Nalagam mape...",
   "MessageLogsDescription": "Dnevniki so shranjeni v <code>/metadata/logs</code> kot datoteke JSON. Dnevniki zrušitev so shranjeni v <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/sv.json b/client/strings/sv.json
index 8e60e2cd..9ee4c1dc 100644
--- a/client/strings/sv.json
+++ b/client/strings/sv.json
@@ -590,7 +590,6 @@
   "MessageItemsSelected": "{0} Objekt markerade",
   "MessageItemsUpdated": "{0} Objekt uppdaterade",
   "MessageJoinUsOn": "Anslut dig till oss på",
-  "MessageListeningSessionsInTheLastYear": "{0} lyssningssessioner det senaste året",
   "MessageLoading": "Laddar...",
   "MessageLoadingFolders": "Laddar mappar...",
   "MessageM4BFailed": "M4B misslyckades!",
diff --git a/client/strings/uk.json b/client/strings/uk.json
index 4b745264..c55421f0 100644
--- a/client/strings/uk.json
+++ b/client/strings/uk.json
@@ -771,7 +771,6 @@
   "MessageItemsSelected": "Обрано елементів: {0}",
   "MessageItemsUpdated": "Оновлено елементів: {0}",
   "MessageJoinUsOn": "Приєднуйтесь до",
-  "MessageListeningSessionsInTheLastYear": "Сесій прослуховування минулого року: {0}",
   "MessageLoading": "Завантаження...",
   "MessageLoadingFolders": "Завантаження тек...",
   "MessageLogsDescription": "Журнали зберігаються у <code>/metadata/logs</code> як JSON-файли. Журнали збоїв зберігаються у <code>/metadata/logs/crash_logs.txt</code>.",
diff --git a/client/strings/vi-vn.json b/client/strings/vi-vn.json
index a176dba3..07ef1751 100644
--- a/client/strings/vi-vn.json
+++ b/client/strings/vi-vn.json
@@ -581,7 +581,6 @@
   "MessageItemsSelected": "{0} Mục Đã Chọn",
   "MessageItemsUpdated": "{0} Mục Đã Cập Nhật",
   "MessageJoinUsOn": "Tham gia cùng chúng tôi trên",
-  "MessageListeningSessionsInTheLastYear": "{0} phiên nghe trong năm qua",
   "MessageLoading": "Đang tải...",
   "MessageLoadingFolders": "Đang tải các thư mục...",
   "MessageM4BFailed": "M4B thất bại!",
diff --git a/client/strings/zh-cn.json b/client/strings/zh-cn.json
index 472ef84e..fad6fc7a 100644
--- a/client/strings/zh-cn.json
+++ b/client/strings/zh-cn.json
@@ -771,7 +771,6 @@
   "MessageItemsSelected": "已选定 {0} 个项目",
   "MessageItemsUpdated": "已更新 {0} 个项目",
   "MessageJoinUsOn": "加入我们",
-  "MessageListeningSessionsInTheLastYear": "去年收听 {0} 个会话",
   "MessageLoading": "正在加载...",
   "MessageLoadingFolders": "加载文件夹...",
   "MessageLogsDescription": "日志以 JSON 文件形式存储在 <code>/metadata/logs</code> 目录中. 崩溃日志存储在 <code>/metadata/logs/crash_logs.txt</code> 目录中.",
diff --git a/client/strings/zh-tw.json b/client/strings/zh-tw.json
index 96f878c2..3f7e4c9c 100644
--- a/client/strings/zh-tw.json
+++ b/client/strings/zh-tw.json
@@ -625,7 +625,6 @@
   "MessageItemsSelected": "已選定 {0} 個項目",
   "MessageItemsUpdated": "已更新 {0} 個項目",
   "MessageJoinUsOn": "加入我們",
-  "MessageListeningSessionsInTheLastYear": "去年收聽 {0} 個會話",
   "MessageLoading": "讀取...",
   "MessageLoadingFolders": "讀取資料夾...",
   "MessageM4BFailed": "M4B 失敗!",