diff --git a/core/state/state_object.go b/core/state/state_object.go index 8eea609f03..8725eafa3e 100644 --- a/core/state/state_object.go +++ b/core/state/state_object.go @@ -314,9 +314,12 @@ func (s *stateObject) updateTrie() (Trie, error) { } // Retrieve a pretecher populated trie, or fall back to the database tr := s.getPrefetchedTrie() - if tr == nil { - var err error + if tr != nil { + // Prefetcher returned a live trie, swap it out for the current one + s.trie = tr + } else { // Fetcher not running or empty trie, fallback to the database trie + var err error tr, err = s.getTrie() if err != nil { s.db.setError(err)