While starting up a node (commit 6fc6325), it was apparently taking curiously long to load the ban list. RPC (in warmup mode) kept returning `Loading banlist...`. When I checked the log I happened upon the following:

```
2016-05-30 07:35:00 init message: Loading banlist...
2016-05-30 07:35:26 UpdateTip: new best=0000000000000000045614e4901f822a86e4015543acc6a68653cc9450f0f330 height=410222 version=0x20000000 log2_work=84.600836 tx=126776938 date='2016-05-04 18:0
1:59' progress=0.984518 cache=8.8MiB(5488tx)
...
2016-05-30 07:39:43 DNS seeding disabled
2016-05-30 07:39:43 opencon thread start
2016-05-30 07:39:43 msghand thread start
2016-05-30 07:39:43 addcon thread start
2016-05-30 07:39:43 init message: Done loading
2016-05-30 07:39:43 net thread start
```

I think it's a matter of the init message not being updated for a new initialization phase after loading the banlist.

{
    bool fClean = true;
    CCoinsModifier coins = view.ModifyCoins(out.hash);
    if (undo.nHeight != 0) {
        
        if (!coins->IsPruned())
            fClean = fClean && error("%s: undo data overwriting existing transaction", __func__);
        coins->Clear();
        coins->fCoinBase = undo.fCoinBase;
        coins->nHeight = undo.nHeight;
        coins->nVersion = undo.nVersion;
    } else {
        if (coins->IsPruned())
            fClean = fClean && error("%s: undo data adding output to missing transaction", __func__);
    }
    if (coins->IsAvailable(out.n))
        fClean = fClean && error("%s: undo data overwriting existing output", __func__);
    if (coins->vout.size() < out.n+1)
        coins->vout.resize(out.n+1);
    coins->vout[out.n] = undo.txout;
    return fClean;
}
bool DisconnectBlock(const CBlock& block, CValidationState& state, const CBlockIndex* pindex, CCoinsViewCache& view, bool* pfClean)