diff --git a/overcooked_simulator/__main__.py b/overcooked_simulator/__main__.py
index 668071aebe23ac0f55a8829d8bab3b07e4d3a483..1520c7e666ea6ed3919885240abb174d3b78e4bb 100644
--- a/overcooked_simulator/__main__.py
+++ b/overcooked_simulator/__main__.py
@@ -40,7 +40,6 @@ def start_pygame_gui(cli_args):
 
 
 def main(cli_args=None):
-
     study_server = None
     study_server_args = None
     if USE_STUDY_SERVER:
@@ -93,9 +92,16 @@ def main(cli_args=None):
             print("Start PyGame GUI:")
             pygame_gui_3 = Process(target=start_pygame_gui, args=(cli_args,))
             pygame_gui_3.start()
-
-        while pygame_gui.is_alive():
-            time.sleep(1)
+            while (
+                pygame_gui.is_alive()
+                and pygame_gui_2.is_alive()
+                and pygame_gui_3.is_alive()
+            ):
+                time.sleep(1)
+
+        else:
+            while pygame_gui.is_alive():
+                time.sleep(1)
 
     except KeyboardInterrupt:
         print("Received Keyboard interrupt")
diff --git a/overcooked_simulator/game_content/environment_config.yaml b/overcooked_simulator/game_content/environment_config.yaml
index eadb5b3dde08eddc106ffb0b8eb81ccf2aa77280..11a443d00780a210bf368f4fcd00e8a66c3d8559 100644
--- a/overcooked_simulator/game_content/environment_config.yaml
+++ b/overcooked_simulator/game_content/environment_config.yaml
@@ -5,7 +5,7 @@ plates:
   # range of seconds until the dirty plate arrives.
 
 game:
-  time_limit_seconds: 20
+  time_limit_seconds: 12
 
 meals:
   all: true
diff --git a/overcooked_simulator/gui_2d_vis/overcooked_gui.py b/overcooked_simulator/gui_2d_vis/overcooked_gui.py
index 802b3b519c3eee6e75c2e546d448df86ef0010f8..74b305860c86880c728164fd4072767f140126ae 100644
--- a/overcooked_simulator/gui_2d_vis/overcooked_gui.py
+++ b/overcooked_simulator/gui_2d_vis/overcooked_gui.py
@@ -1435,18 +1435,9 @@ class PyGameGUI:
 
         self.reset_window_size()
         self.init_ui_elements()
-
         self.reset_gui_values()
-
         self.update_screen_elements()
 
-        self.reset_window_size()
-
-        self.init_ui_elements()
-        self.manage_button_visibility()
-
-        self.update_selection_elements()
-
         # Game loop
         self.running = True
         # This dict can be left as-is, since pygame will generate a
@@ -1494,7 +1485,10 @@ class PyGameGUI:
                     ]:
                         self.handle_key_event(event)
 
-                    if event.type in [pygame.JOYBUTTONDOWN, pygame.JOYBUTTONUP] and self.menu_state == MenuStates.Game:
+                    if (
+                        event.type in [pygame.JOYBUTTONDOWN, pygame.JOYBUTTONUP]
+                        and self.menu_state == MenuStates.Game
+                    ):
                         self.handle_joy_stick_event(event, joysticks=self.joysticks)
 
                     self.manager.process_events(event)