diff --git a/src/ripple/app/misc/NetworkOPs.cpp b/src/ripple/app/misc/NetworkOPs.cpp index 882c46d761..7a1f03f36b 100644 --- a/src/ripple/app/misc/NetworkOPs.cpp +++ b/src/ripple/app/misc/NetworkOPs.cpp @@ -838,6 +838,12 @@ bool NetworkOPsImp::isValidated (std::uint32_t seq) void NetworkOPsImp::submitTransaction ( Job&, STTx::pointer iTrans, stCallback callback) { + if (isNeedNetworkLedger ()) + { + // Nothing we can do if we've never been in sync + return; + } + // this is an asynchronous interface Serializer s; iTrans->add (s); diff --git a/src/ripple/overlay/impl/PeerImp.cpp b/src/ripple/overlay/impl/PeerImp.cpp index 85adca0f1d..f4cf54b5d0 100644 --- a/src/ripple/overlay/impl/PeerImp.cpp +++ b/src/ripple/overlay/impl/PeerImp.cpp @@ -972,6 +972,14 @@ PeerImp::onMessage (std::shared_ptr const& m) void PeerImp::onMessage (std::shared_ptr const& m) { + + if (getApp().getOPs().isNeedNetworkLedger ()) + { + // If we've never been in synch, there's nothing we can do + // with a transaction + return; + } + Serializer s (m->rawtransaction ()); try