                                         self.readVerseMetaData(reference: reference)
                                         self.controlCenter.nowPlaying(player: self)
                                     }
+                                    self.preFetchNextChapter(reference: reference)
         })
     }
     
     private func preFetchNextChapter(reference: AudioReference) {
         self.nextReference = reference.nextChapter()
         if let next = self.nextReference {
+            print("Prefetch \(next.toString())")
             AwsS3Cache.shared.readFile(s3Bucket: next.getS3Bucket(),
                                        s3Key: next.getS3Key(),
                                        expireInterval: Double.infinity,

        }
    }
    
    /** This method is called by AudioControlCenter.swift when user clicks the next button. */
    func nextChapter() {
        if let play = self.player {
            let startPlayRate = play.rate
            if let curr = self.nextReference {
                self.currReference = curr
                self.addNextChapter(reference: curr)
                self.preFetchNextChapter(reference: curr)
                if startPlayRate == 0 {
                    self.audioAnalytics?.playStarted(item: curr.toString(), position: play.currentTime())
                }

        self.player = AVPlayer(playerItem: playerItem)
        self.player?.actionAtItemEnd = AVPlayerActionAtItemEnd.none
        
        self.preFetchNextChapter(reference: reference)
    }
    
