Cards dealt "face up" appear face down to other players.

I have a module for a card game that I like to play online with a friend. In it both players play cards from decks on the main public table. The decks are set to show the top card before it is played, and then for that card to be played face up when it is played to the table.

The problem is that occasionally, when a player (we’ll say player A) plays one of those cards from the deck to the table, it is only face up to player A; player B only sees the back of the card, and doesn’t have the ability to flip it over. Player A has to flip it face down and then face up again for player B to see it face up.

The weird thing is that it is not consistent. Sometimes it works fine and the public cards are face up to everybody, sometimes player B can’t see the cards player A plays, and other times player A can’t see the cards player B plays. I haven’t been able to figure out any trigger or trends for what would be causing it.
I looked at the code behind it, and all the decks in question have “always play face up” marked.

Any ideas?