diff --git a/src/core/hle/service/am/service/library_applet_self_accessor.cpp b/src/core/hle/service/am/service/library_applet_self_accessor.cpp index 0335ae5be6..4a1d1f97d3 100644 --- a/src/core/hle/service/am/service/library_applet_self_accessor.cpp +++ b/src/core/hle/service/am/service/library_applet_self_accessor.cpp @@ -181,12 +181,12 @@ Result ILibraryAppletSelfAccessor::ExitProcessAndReturn() { LOG_INFO(Service_AM, "called"); if (const auto caller_applet = m_applet->caller_applet.lock(); caller_applet) { - system.GetUserChannel() = caller_applet->user_channel_launch_parameter; + m_applet->process->Terminate(); } else { system.GetUserChannel() = m_applet->user_channel_launch_parameter; + system.ExecuteProgram(0); } - system.ExecuteProgram(0); R_SUCCEED(); }