diff -Nru tremulous/src/game/g_cmds.c tremulous.temp/src/game/g_cmds.c
--- tremulous/src/game/g_cmds.c	2007-02-28 18:31:53.000000000 +0100
+++ tremulous.temp/src/game/g_cmds.c	2007-02-28 18:31:53.000000000 +0100
@@ -648,7 +648,7 @@
 */
 void Cmd_Team_f( gentity_t *ent )
 {
-  pTeam_t team;
+  pTeam_t team, oldteam;
   char    s[ MAX_TOKEN_CHARS ];
   qboolean force = G_admin_permission(ent, ADMF_FORCETEAMCHANGE);
 
@@ -758,12 +758,33 @@
   }
 
 
+  oldteam = ent->client->pers.teamSelection;
   G_ChangeTeam( ent, team );
 
-  if( team == PTE_ALIENS )
-    trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " joined the aliens\n\"", ent->client->pers.netname ) );
-  else if( team == PTE_HUMANS )
-    trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " joined the humans\n\"", ent->client->pers.netname ) );
+  if( team == PTE_ALIENS ) {
+    if ( oldteam == PTE_HUMANS )
+      trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " abandoned humans and joined the aliens\n\"",
+                                      ent->client->pers.netname ) );
+    else
+      trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " joined the aliens\n\"",
+                                      ent->client->pers.netname ) );
+  }
+  else if( team == PTE_HUMANS ) {
+    if ( oldteam == PTE_ALIENS )
+      trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " abandoned aliens and joined the humans\n\"",
+                                      ent->client->pers.netname ) );
+    else
+      trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " joined the humans\n\"",
+                                      ent->client->pers.netname ) );
+  }
+  else if( team == PTE_NONE ) {
+    if ( oldteam == PTE_HUMANS )
+      trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " left the humans\n\"",
+                                      ent->client->pers.netname ) );
+    else
+      trap_SendServerCommand( -1, va( "print \"%s" S_COLOR_WHITE " left the aliens\n\"",
+                                      ent->client->pers.netname ) );
+  }
 }
 
 
