      }
    } players_iterate_end;
  
-@@ -615,6 +636,9 @@ static bool connection_attach_real(struct connection *pconn,
+@@ -615,6 +638,9 @@ static bool connection_attach_real(struct connection *pconn,
        }
        (void) aifill(game.info.aifill);
      }

   } else {
     notify_conn(dest, NULL, E_CONNECTION, ftc_server,
 		_("You are logged in as '%s' connected to %s."),
@@ -540,8 +554,15 @@ void send_conn_info_remove(struct conn_list *src, struct conn_list *dest)
 struct player *find_uncontrolled_player(void)
 {
   players_iterate(played) {

+        /* Make it human! */
+        set_as_human(pplayer);
+        pplayer->economic.gold += game.info.turn * 5;
+        pplayer->economic.science = 60;
+        pplayer->economic.tax = 40;
+        connection_attach(pconn, pplayer, FALSE);
+      } else {
+        notify_conn(dest, NULL, E_CONNECTION, ftc_server,
