         let oneMonth = self.oneUnitBefore(NSDate(), withUnit: NSCalendarUnit.Month)
         
         PatronManager.sharedManager.fetchPatronageExpiration { (date : NSDate?) -> Void in
-            self.tableView.reloadData()
+            dispatch_async(dispatch_get_main_queue(), { () -> Void in
+                self.tableView.reloadSections(NSIndexSet(index: 0), withRowAnimation: .Automatic)
+            })
         }
         
         PatronManager.sharedManager.fetchPatronCountSince(date: oneMonth) { (count, error) -> Void in
-            self.tableView.reloadData()
+            dispatch_async(dispatch_get_main_queue(), { () -> Void in
+                self.tableView.reloadSections(NSIndexSet(index: 1), withRowAnimation: .Automatic)
+            })
         }
         
         PatronManager.sharedManager.fetchAvailablePatronageProducts { (products, error) -> Void in
-            self.tableView.reloadData()
+            dispatch_async(dispatch_get_main_queue(), { () -> Void in
+                self.tableView.reloadSections(NSIndexSet(index: 1), withRowAnimation: .Automatic)
+            })
         }
     }
     

        }
        else if section == 1 {
            // Number of patrons
            if let count = PatronManager.sharedManager.patronCount {
                title = NSString(format: NSLocalizedString("%li people became patrons recently.", comment: "A string counting how many poeple donated recently."), count) as String
            }
            else {

                
                PatronManager.sharedManager.purchaseProduct(product: product, withCompletionHandler: { (success, error) -> Void in
                    print("Purchase complete. Success: \(success) Error: \(error)")
                    self.tableView.reloadData()
                    
                    PatronManager.sharedManager.fetchPatronageExpiration(withCompletionHandler: { (expiration : NSDate?) -> Void in
                        PatronManager.sharedManager.fetchPatronCountSince(date: self.oneUnitBefore(NSDate(), withUnit: .Month), withCompletionHandler: { (count, error) -> Void in
                            self.tableView.reloadData()
                        })
                    })
                })
                
            }
