[C++] Network - Destroying Sessions

Hey guys I’m having some issues destroying sessions (LAN). I’m calling

IOnlineSubsystem* OnlineSub = IOnlineSubsystem::Get();
	if (OnlineSub)
	{
		IOnlineSessionPtr Sessions = OnlineSub->GetSessionInterface();

		if (Sessions.IsValid())
		{
			FNamedOnlineSession* Session = Sessions->GetNamedSession(MySessionName);
			OnEndSessionCompleteDelegateHandle = Sessions->AddOnEndSessionCompleteDelegate_Handle(OnEndSessionCompleteDelegate);

			Sessions->EndSession(MySessionName);
			if (Session->bHosting){
				DestroySessionEvent();
			}
		}

On every client and if they happen to be hosting the session then :

IOnlineSubsystem* OnlineSub = IOnlineSubsystem::Get();
	if (OnlineSub)
	{
		IOnlineSessionPtr Sessions = OnlineSub->GetSessionInterface();

		if (Sessions.IsValid())
		{
			Sessions->AddOnDestroySessionCompleteDelegate_Handle(OnDestroySessionCompleteDelegate);

			Sessions->DestroySession(MySessionName);
		}
	}

If I do this I will go back to the main menu, but the system fails to create new sessions (Host new games.).
Thanks for your help.

I found a solution to this one. You have to shut down the Online Subsystem and start it again by calling Shutdown() and Init().