diff --git a/front/app/community/[siren]/comparison/[comparedSiren]/components/MPSubvComparison.tsx b/front/app/community/[siren]/comparison/[comparedSiren]/components/MPSubvComparison.tsx
index b7d45827..fd6e47d1 100644
--- a/front/app/community/[siren]/comparison/[comparedSiren]/components/MPSubvComparison.tsx
+++ b/front/app/community/[siren]/comparison/[comparedSiren]/components/MPSubvComparison.tsx
@@ -1,5 +1,7 @@
'use client';
+import { memo, useCallback, useMemo } from 'react';
+
import type { Community } from '#app/models/community';
import EmptyState from '#components/EmptyState';
import Loading from '#components/ui/Loading';
@@ -27,12 +29,23 @@ export function MPSubvComparison({
}: MPSubvComparisonProperties) {
const { year: selectedYear, setYear: setSelectedYear } = useComparisonYear();
+ // Memoize section title to prevent recalculation
+ const sectionTitle = useMemo(() => getSectionTitle(comparisonType), [comparisonType]);
+
+ // Stabilize year selection handler
+ const handleYearSelect = useCallback(
+ (year: number) => {
+ setSelectedYear(year);
+ },
+ [setSelectedYear],
+ );
+
return (
<>