             let statement = try! self.source.selectStatement(db)
             let items = Item<Record>.fetchAll(statement)
             self.fetchedItems = items
+            self.isSameRecord = self.isSameRecordBuilder(db)
             
             if self.delegate != nil {
                 // Setup a new transaction observer. Use database.write, so that

                    controller: self,
                    initialItems: items,
                    observedTables: statement.sourceTables,
                    isSameRecord: self.isSameRecordBuilder(db))
                self.observer = observer
                db.addTransactionObserver(observer)
            }

        self.source = source
        self.database = database
        self.isSameRecordBuilder = isSameRecordBuilder
        self.queue = queue
    }
    
    /// Executes the controller's fetch request.
