                                 log.error("\(error)")
                             case .success(let lesson, let resource, let url):
                                 //Epic, we have the URL so lets go do a thing
+                                
+                                guard lesson == this.lastTappedLesson && resource == this.lastTappedResource else {
+                                    return
+                                }
                                 
                                 switch lessonType.fileType() {
                                 case .PDF:

        let count = fetchedResultsController.sections?.count ?? 0
        return 1 + count
    }
    
    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        switch indexPath.section {

                    
                    let lessonIndexPath = NSIndexPath(forRow: tableIndexPath.row, inSection: tableIndexPath.section - 1)
                    let lesson = this.fetchedResultsController.objectAtIndexPath(lessonIndexPath) as! Lesson
                    
                    this.lastTappedLesson = lesson
                    this.lastTappedResource = lessonType
                    
                    switch status {
                    case .None, .Completed:
                        ResourceManager.sharedInstance.startDownloading(lesson, resource: lessonType, completion: { (result) in
