Error “Attempt to transfer unavailable funds”

I have a problem with “quick” assets transfering through several accounts. For example, I have 3 accounts: A, B(no assets), C. I transfer some amount of asset from A to B account, then look for “A->B” transaction (/transactions/info/{id}). If transaction was found I transfer the same amount from B to C account. In most cases everything is fine, but sometime I get an error:

StateCheckFailedException: State check failed. Reason: Attempt to transfer unavailable funds: Transaction application leads to negative asset ‘IssuedAsset(…)’ balance to (at least) temporary negative state, current balance is 0 …

If I will wait for 10 seconds, for example, “B->C” transfer will be succeeded. So, it seems that I should wait for some synchronization of account’s balances in the node.

Is there any guaranteed way in my case to make “B->C” tansfer without waiting undetermined time? “A->B” transaction’s presence in blockchain doesn’t work sometimes.

I use my own node for broadcasting transaction. Node’s configuration is default. Version 1.1.7