diff --git a/source/ngc/menu.cpp b/source/ngc/menu.cpp
index fce54b2..ab5c798 100644
--- a/source/ngc/menu.cpp
+++ b/source/ngc/menu.cpp
@@ -113,11 +113,6 @@ ResumeGui()
 static void
 HaltGui()
 {
-	#ifdef HW_RVL
-	if(updatethread != LWP_THREAD_NULL)
-		LWP_JoinThread(updatethread, NULL);
-	#endif
-
 	guiHalt = true;
 
 	// wait for thread to finish
@@ -3818,6 +3813,11 @@ MainMenu (int menu)
 	CancelAction();
 	HaltGui();
 
+	#ifdef HW_RVL
+	if(updatethread != LWP_THREAD_NULL)
+		LWP_JoinThread(updatethread, NULL);
+	#endif
+
 	#ifndef NO_SOUND
 	delete bgMusic;
 	delete enterSound;