diff --git a/components/Game.tsx b/components/Game.tsx
index a04ae6f..ad2650b 100644
--- a/components/Game.tsx
+++ b/components/Game.tsx
@@ -169,8 +169,10 @@ export default function Game({ dailyPuzzle, genre = null, isSpecial = false, max
if (!gameState) return
{t('loadingState')}
;
// Use gameState directly for isSolved/isFailed to ensure consistency when returning to completed puzzles
- const isSolved = gameState?.isSolved ?? hasWon;
- const isFailed = gameState?.isFailed ?? hasLost;
+ // Always use gameState values directly - they are the source of truth
+ // This ensures that when returning to a completed puzzle, the result is shown immediately
+ const isSolved = Boolean(gameState.isSolved);
+ const isFailed = Boolean(gameState.isFailed);
const handleGuess = (song: any) => {
if (isProcessingGuess) return;