Basically you have, in atcommand.c:
 
/*==========================================
 *
 *------------------------------------------*/
ACMD(kick)
{
    struct map_session_data *pl_sd;
    memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
    if (!*message) {
        clif->message(fd, msg_fd(fd,1026)); // Please enter a player name (usage: @kick <char name/ID>).
        return false;
    }
    if ((pl_sd=map->nick2sd(message)) == NULL && (pl_sd=map->charid2sd(atoi(message))) == NULL) {
        clif->message(fd, msg_fd(fd,3)); // Character not found.
        return false;
    }
    if (pc_get_group_level(sd) < pc_get_group_level(pl_sd))
    {
        clif->message(fd, msg_fd(fd,81)); // Your GM level don't authorize you to do this action on this player.
        return false;
    }
    clif->GM_kick(sd, pl_sd);
    return true;
}
	 
 
	Change:
 
    clif->GM_kick(sd, pl_sd);
	To:
 
    chrif->charselectreq(pl_sd, sockt->session[pl_sd->fd]->client_addr);
	 
 
	And this made the trick...