     override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
         if let domain = object as? Domain where context == &kvoContext && keyPath == "favicon" {
             domain.removeObserver(self, forKeyPath: "favicon")
-            if let index = domainToIndexPath[domain.url ?? ""], let cell = tableView.cellForRowAtIndexPath(index) {
-                configureCell(cell, atIndexPath: index)
-                domainToIndexPath[domain.url ?? ""] = nil
+            if let url = domain.url, let indexes = faviconlessDomainToIndexPaths[url] {
+                for index in indexes {
+                    if let cell = tableView.cellForRowAtIndexPath(index) {
+                        configureCell(cell, atIndexPath: index)
+                    }
+                }
+                faviconlessDomainToIndexPaths[url] = nil
             }
         }
     }

        case .Insert:
            if let indexPath = newIndexPath {
                let obj = anObject as! History
                if let domain = obj.domain?.url where obj.domain?.favicon == nil {
                    domainToIndexPath[domain] = indexPath
                    obj.domain?.addObserver(self, forKeyPath: "favicon", options: .New, context: &kvoContext)
                }
                tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: .Automatic)
            }

    private var kvoContext: UInt8 = 1
    var frc: NSFetchedResultsController? = nil


    // This list is used for observing when the domain.favicon is updated.
    // I called these faviconless-domains for clarity.
    private var faviconlessDomainToIndexPaths = [String: [NSIndexPath]]()
    private func addFaviconlessDomain(domain: Domain, forIndexPath: NSIndexPath) {
        guard let url = domain.url else { return }

        if faviconlessDomainToIndexPaths[url] == nil {
            faviconlessDomainToIndexPaths[url] = [NSIndexPath]()
            domain.addObserver(self, forKeyPath: "favicon", options: .New, context: &kvoContext)
        }
        faviconlessDomainToIndexPaths[url]!.append(forIndexPath)
    }

    init() {
        super.init(nibName: nil, bundle: nil)
