diff --git a/src/ripple/app/ledger/LedgerEntrySet.cpp b/src/ripple/app/ledger/LedgerEntrySet.cpp index aa361e767..cb57895e9 100644 --- a/src/ripple/app/ledger/LedgerEntrySet.cpp +++ b/src/ripple/app/ledger/LedgerEntrySet.cpp @@ -1730,7 +1730,9 @@ bool LedgerEntrySet::checkState ( // Sender is zero or negative. && (flags & (!bIssuerHigh ? lsfLowReserve : lsfHighReserve)) // Sender reserve is set. - && !(flags & (!bIssuerHigh ? lsfLowNoRipple : lsfHighNoRipple)) + && static_cast (flags & (!bIssuerHigh ? lsfLowNoRipple : lsfHighNoRipple)) != + static_cast (entryCache (ltACCOUNT_ROOT, + getAccountRootIndex (sender))->getFlags() & lsfDefaultRipple) && !(flags & (!bIssuerHigh ? lsfLowFreeze : lsfHighFreeze)) && !state->getFieldAmount ( !bIssuerHigh ? sfLowLimit : sfHighLimit)