diff --git a/save_load/autoloads/save_game_manager.gd b/save_load/autoloads/save_game_manager.gd
index ac5b7e5..7ea9c41 100644
--- a/save_load/autoloads/save_game_manager.gd
+++ b/save_load/autoloads/save_game_manager.gd
@@ -27,7 +27,7 @@ func _ready() -> void:
 	quick_load.connect(quick_load_game)
 	quick_save.connect(quick_load_game)
 	create_save_file.connect(_on_save_game_as_resource)
-	load_save_file.connect(_load_game_resource)
+	load_save_file.connect(load_game_save)
 	delete_save_file.connect(_on_delete_save_file)
 
 func _unhandled_input(event: InputEvent) -> void:
@@ -77,6 +77,10 @@ func list_saves(include_quick_saves: bool = true, include_auto_saves: bool = tru
 	save_files.sort_custom(_custom_save_file_sort)
 	return save_files
 
+func load_game_save(resource_filename: String) -> void:
+	_load_game_resource(resource_filename)
+	game_loaded.emit()
+
 func quick_save_game() -> void:
 	if not _load_save_level_data_component(): return
 
@@ -88,7 +92,6 @@ func quick_load_game() -> void:
 	if not _load_save_level_data_component(): return
 
 	# TODO: Don't reset world if quicksave not found
-	EntityManager.reset_world.emit()
 	_load_game_resource(_save_level_data_component.settings.quicksave_file_name)
 	game_loaded.emit()
 
@@ -133,6 +136,9 @@ func _load_save_level_data_component() -> bool:
 
 func _load_game_resource(resource_filename: String) -> void:
 	if not _load_save_level_data_component(): return
+
+	EntityManager.reset_world.emit()
+
 	var save_game_file_path: String = _save_level_data_component.settings.save_game_data_path + resource_filename
 	if !FileAccess.file_exists(save_game_file_path):
 		printerr("Failed to load save. File does not exist: ", save_game_file_path)
@@ -148,6 +154,8 @@ func _load_game_resource(resource_filename: String) -> void:
 		if resource is Node3DDataResource:
 			(resource as Node3DDataResource)._load_data(root_node)
 
+	game_loaded.emit()
+
 func _save_game_as_resource(resource_filename: String) -> void:
 	if not _load_save_level_data_component(): return
 
diff --git a/scenes/ui/ui.gd b/scenes/ui/ui.gd
index ea9b1db..11fbecc 100644
--- a/scenes/ui/ui.gd
+++ b/scenes/ui/ui.gd
@@ -18,6 +18,7 @@ func _ready() -> void:
 	SignalManager.resume_game.connect(_on_resume_game)
 	SaveGameManager.close_save_list_ui.connect(_on_close_save_list_ui)
 	SaveGameManager.open_save_list_ui.connect(_on_open_save_list_ui)
+	SaveGameManager.game_loaded.connect(_on_game_loaded)
 
 	_on_resume_game()
 
@@ -42,6 +43,9 @@ func _on_close_save_list_ui() -> void:
 func _on_close_settings_menu() -> void:
 	SignalManager.resume_game.emit()
 
+func _on_game_loaded() -> void:
+	_on_resume_game()
+
 func _on_open_pause_menu() -> void:
 	Input.mouse_mode = Input.MOUSE_MODE_VISIBLE