diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 0d1c442e0..68224c1a8 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -2792,8 +2792,11 @@ bool CWallet::CreateTransaction(const vector& vecSend, CWalletTx& wt //} if ( ASSETCHAINS_SYMBOL[0] == 0 && DONATION_PUBKEY.size() == 66 && interest2 > 5000 ) { - CTxOut newTxOut(interest2, CScript() << ParseHex(DONATION_PUBKEY) << OP_CHECKSIG); - txNew.vout.insert(txNew.vout.size(),newTxOut) ; + CScript scriptDonation = CScript() << ParseHex(DONATION_PUBKEY) << OP_CHECKSIG; + CTxOut newTxOut(interest2,scriptDonation); + nDonationPosRet = txNew.vout.size() - 1; // dont change first or last + vector::iterator position = txNew.vout.begin()+nChangePosRet; + txNew.vout.insert(position, newTxOut); interest2 = 0; } CAmount nChange = (nValueIn - nValue + interest2);