Question about CheckTx behaviour

Hi all,
I am beginning to play with Tendermint and I have a question about CheckTx() function. Reading the doc online (, it seems to me that this function is used to check if the transactions can be inserted in the blocks or not (i.e. roughly, they can be passed to DeliverTx()). I thought this function was launched only by the node doing the transaction. Instead, all the network nodes run CheckTx(). Is this behaviour normal? I would need that only the node creating the transaction runs CheckTx, not all.

Thanks for your help.