diff --git a/src/ripple/app/ledger/LedgerEntrySet.cpp b/src/ripple/app/ledger/LedgerEntrySet.cpp index cb57895e9..73bad24b1 100644 --- a/src/ripple/app/ledger/LedgerEntrySet.cpp +++ b/src/ripple/app/ledger/LedgerEntrySet.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -1446,14 +1447,22 @@ TER LedgerEntrySet::rippleCredit ( " -> " << to_string (uReceiverID) << " : " << saAmount.getFullText (); + SLE::pointer sleAccount = entryCache (ltACCOUNT_ROOT, + getAccountRootIndex (uReceiverID)); + + bool noRipple = (sleAccount->getFlags() & lsfDefaultRipple) == 0; + + if (ripple::legacy::emulate027 (mLedger)) + noRipple = false; + terResult = trustCreate ( bSenderHigh, uSenderID, uReceiverID, uIndex, - entryCache (ltACCOUNT_ROOT, getAccountRootIndex (uReceiverID)), - false, + sleAccount, false, + noRipple, false, saBalance, saReceiverLimit);