diff --git a/network_client.c b/network_client.c --- a/network_client.c +++ b/network_client.c @@ -521,9 +521,8 @@ DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER } else { /* We have arrived and ready to start playing; send a command to make a new player; * the server will give us a client-id and let us in */ - _local_player = 0; + _local_player = PLAYER_SPECTATOR; NetworkSend_Command(0, 0, 0, CMD_PLAYER_CTRL, NULL); - _local_player = PLAYER_SPECTATOR; } } else { // take control over an existing company diff --git a/network_server.c b/network_server.c --- a/network_server.c +++ b/network_server.c @@ -844,6 +844,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT } // XXX - UGLY! p2 is mis-used to get the client-id in CmdPlayerCtrl + cp->player = 0; cp->p2 = cs - _clients; }