diff --git a/src/engine/Scrub.c b/src/engine/Scrub.c index f3e40040af..0f6f2a4f69 100644 --- a/src/engine/Scrub.c +++ b/src/engine/Scrub.c @@ -407,14 +407,15 @@ xaccTransScrubImbalance (Transaction *trans, AccountGroup *root, ENTER ("()"); - /* If the transaction is balanced, nothing more to do */ - imbalance = xaccTransGetImbalance (trans); - if (gnc_numeric_zero_p (imbalance)) return; - + /* Must look or orphan splits even if there is no imbalance. */ xaccTransBeginEdit(trans); xaccTransScrubSplits (trans); xaccTransCommitEdit(trans); + /* If the transaction is balanced, nothing more to do */ + imbalance = xaccTransGetImbalance (trans); + if (gnc_numeric_zero_p (imbalance)) return; + if (!account) { if (!root)