diff --git a/storagemarket/provider.go b/storagemarket/provider.go index b61d88610..61b9b415e 100644 --- a/storagemarket/provider.go +++ b/storagemarket/provider.go @@ -449,10 +449,12 @@ func (p *Provider) Start() error { continue } - // Fail deals if start epoch has passed - if err := p.checkDealProposalStartEpoch(deal); err != nil { - go p.failDeal(dh.Publisher, deal, err, false) - continue + // Fail deals if start epoch has passed and deal has still not been added to a sector + if deal.Checkpoint < dealcheckpoints.AddedPiece { + if serr := p.checkDealProposalStartEpoch(deal); serr != nil { + go p.failDeal(dh.Publisher, deal, serr, false) + continue + } } // If it's an offline deal, and the deal data hasn't yet been