diff -Nru tremulous/src/game/g_client.c tremulous.temp/src/game/g_client.c
--- tremulous/src/game/g_client.c	2007-02-28 18:32:02.000000000 +0100
+++ tremulous.temp/src/game/g_client.c	2007-02-28 18:32:09.000000000 +0100
@@ -995,7 +995,13 @@
     if( client->pers.connected != CON_CONNECTED )
         Q_strncpyz( oldname, "UnnamedPlayer", sizeof( oldname ) );
 
-    if( client->pers.nameChangeTime &&
+    if( client->pers.muted )
+    {
+      trap_SendServerCommand( ent - g_entities,
+        "print \"You cannot change your name while you are muted\n\"" );
+      revertName = qtrue;
+    }
+    else if( client->pers.nameChangeTime &&
       ( level.time - client->pers.nameChangeTime )
       <= ( g_minNameChangePeriod.value * 1000 ) )
     {
