diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte
index 37319a2ae0325335ba6d8dce6e70afca87baa176..d82eb37f3f4aabda822e8ebaec19c656486d0621 100644
--- a/frontend/src/routes/+page.svelte
+++ b/frontend/src/routes/+page.svelte
@@ -5,7 +5,7 @@
 	import Session, { sessions } from '$lib/types/session';
 	import { requireLogin } from '$lib/utils/login';
 	import { onMount } from 'svelte';
-	import { displayDate, displayDuration } from '$lib/utils/date';
+	import { displayDuration } from '$lib/utils/date';
 	import JWTSession from '$lib/stores/JWTSession';
 	import { Eye, EyeSlash, Icon, Trash, User } from 'svelte-hero-icons';
 	import { _ } from '$lib/services/i18n';
@@ -108,5 +108,8 @@
 				{/each}
 			</tbody>
 		</table>
+		{#if !$sessions.length}
+			<div class="text-center mt-8 text-gray-500 text-lg italic">{$_('home.noSessions')}</div>
+		{/if}
 	</div>
 {/if}
diff --git a/frontend/src/routes/session/+page.svelte b/frontend/src/routes/session/+page.svelte
index f2b50f8bd625baf93d8142070143cd58aa6361ed..57d7101700705b283fa32c66cde8f0c087d0455e 100644
--- a/frontend/src/routes/session/+page.svelte
+++ b/frontend/src/routes/session/+page.svelte
@@ -13,7 +13,10 @@
 		requireLogin();
 
 		const param = $page.url.searchParams.get('id');
-		if (!param) return;
+		if (!param) {
+			window.location.href = '/';
+			return;
+		}
 
 		const id = parseInt(param);
 
diff --git a/frontend/static/lang/fr.json b/frontend/static/lang/fr.json
index e66c6fbfe29cc94b18f340b90deed74caecb786c..d61afeba6191c7ff5b4c4576e9b337b61f0e24c6 100644
--- a/frontend/static/lang/fr.json
+++ b/frontend/static/lang/fr.json
@@ -20,7 +20,8 @@
 		"nickname": "Pseudo",
 		"learningLanguage": "Langue d'apprentissage",
 		"confirm": "Confirmer",
-		"sessionEnded": "Terminée"
+		"sessionEnded": "Terminée",
+		"noSessions": "Aucune session en cours"
 	},
 	"login": {
 		"email": "Email",