diff --git a/sockets/socketLogic.js b/sockets/socketLogic.js
index f09937d29b2660073d9e5cc4b66cea3e43481c79..011f717ff9beffe2bbfc80438b00b5f6a32cd7ea 100644
--- a/sockets/socketLogic.js
+++ b/sockets/socketLogic.js
@@ -85,43 +85,38 @@ async function convertLobbyToGame(lobbyId, socket) {
 
 async function showQuestions(game, socket, questionNumber) {
     if (questionNumber === 10) return;
-
     let time = 15;
-    let isQuestionDisplayed = false;
-
     const interval = setInterval(async () => {
         time--;
-
-        // If time reaches 0 and a question has not been displayed, show the question
-        if (time === 0 && !isQuestionDisplayed) {
+        socket.to(game.getGameId()).emit("timer", time);
+        socket.emit("timer", time);
+        if (time === 0) {
             clearInterval(interval);
-            isQuestionDisplayed = true;
-
             const question = game.gameData[questionNumber];
-            const reducedAnswers = question.answers.map((answer) => ({
-                text: answer.text,
-            }));
-
+            let reducedAnsewers = [];
+            for (let answer of question.answers) {
+                reducedAnsewers.push({
+                    text: answer.text,
+                });
+            }
             const reducedQuestion = {
                 text: question.question.text,
                 fact: question.question.fact,
                 difficulty: question.question.difficulty,
-                answers: reducedAnswers,
+                answers: reducedAnsewers,
             };
-
             socket.to(game.getGameId()).emit("question", reducedQuestion);
-            socket.emit("question", reducedQuestion);
-
-            time = 15; // Reset the timer for the next wait
-        }
-
-        socket.to(game.getGameId()).emit("timer", time);
-        socket.emit("timer", time);
-
-        // If time reaches 0 again, proceed to the next question
-        if (time === 0 && isQuestionDisplayed) {
-            clearInterval(interval);
-            showQuestions(game, socket, questionNumber + 1);
+            socket.emit("question", reducedAnsewers);
+            let waitTime = 15;
+            const wait = setInterval(async () => {
+                waitTime--;
+                socket.to(game.getGameId()).emit("timer", waitTime);
+                socket.emit("timer", waitTime);
+                if (waitTime === 0) {
+                    clearInterval(wait);
+                    showQuestions(game, socket, questionNumber + 1);
+                }
+            }, 1000);
         }
     }, 1000);
 }