StartServer just broke in one scene, but works in another clear scene (bug?)

Just a simple Start / Connect procedure:

public void SetupServer () {
  NetworkManager.singleton.networkPort = int.Parse (PortText.text);
  NetworkManager.singleton.StartHost ();
}

public void ConnectToServer () {
  NetworkManager.singleton.networkAddress = IPText.text;
  NetworkManager.singleton.networkPort  = int.Parse (PortText.text);
  NetworkManager.singleton.StartClient ();
}

In my main scene it no longer works. The server starts, but automatic creation of player prefab don’t works. And client may connect to the server, but didn’t see any server activity and its objects with Network Identity component still inactive.

But when I created new, clear scene, in the same project, it works well.

And the most funny thing, connection via NetworkManagerHUD component works well, even in broken scene where another method is broken!

Bug?

Found a cause! (Seems so) But it is MAGIC!

Actually, the code above is simplified. Actually I used this code:

public void SetupServer(){
        NetworkManager.singleton.networkPort = int.Parse (PortText.text);
        NetworkClient myClient = NetworkManager.singleton.StartHost ();
        myClient.RegisterHandler (MsgType.Connect, OnConnected);
        myClient.RegisterHandler (MsgType.Disconnect, OnDisconnect);
    }

    public void ConnectToServer () {
        NetworkManager.singleton.networkAddress = IPText.text;
        NetworkManager.singleton.networkPort    = int.Parse (PortText.text);
        NetworkClient myClient = NetworkManager.singleton.StartClient ();
        myClient.RegisterHandler (MsgType.Connect, OnConnected);
        myClient.RegisterHandler (MsgType.Disconnect, OnDisconnect);
    }

The problem in line:

myClient.RegisterHandler (MsgType.Connect, OnConnected);

Not MsgType.Disconnect, only MsgType.Connect.

Bug? Magic? What is this? : )