diff --git a/src/thingdef/thingdef_codeptr.cpp b/src/thingdef/thingdef_codeptr.cpp
--- a/src/thingdef/thingdef_codeptr.cpp
+++ b/src/thingdef/thingdef_codeptr.cpp
@@ -702,4 +702,10 @@
 	if ( NETWORK_InClientMode() )
 	{
 		if (( self->ulNetworkFlags & NETFL_CLIENTSIDEONLY ) == false )
+		{
+			if ( ( self->player != NULL )
+				&& ( ( CallingState == self->player->psprites[ps_weapon].state ) || ( CallingState == self->player->psprites[ps_flash].state ) ) )
+			{
+				P_SetPsprite (self->player, ps_weapon, CallingState, true);
+			}
 			return;
@@ -705,4 +711,5 @@
 			return;
+		}
 	}
 
 	if (count >= 2 && (maxchance >= 256 || pr_cajump() < maxchance))
