         return cell
     }
     
+    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
+        if let checkmarkItem = sections[indexPath.section].items[indexPath.item] as? AppearanceSettingsCheckmarkItem, checkmarkItem.themeName == UserDefaults.wmf_userDefaults().wmf_appTheme.name {
+            cell.setSelected(true, animated: false)
+            tableView.selectRow(at: indexPath, animated: false, scrollPosition: .none)
+        }
+    }
+    
     func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
         guard let item = sections[indexPath.section].items[indexPath.item] as? AppearanceSettingsCustomViewItem else {
             return tableView.rowHeight
         }
         return item.view.frame.height
-    }
-    
-    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
-        guard sections[indexPath.section].items[indexPath.item] is AppearanceSettingsCheckmarkItem else {
-            return
-        }
-        
-        tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
-    }
-    
-    func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
-        guard sections[indexPath.section].items[indexPath.item] is AppearanceSettingsCheckmarkItem else {
-            return
-        }
-        
-        tableView.cellForRow(at: indexPath)?.accessoryType = .none
     }
     
     func handleImageDimmingSwitchValueChange(_ sender: UISwitch) {

        let currentThemeName = UserDefaults.wmf_userDefaults().wmf_appTheme.name
        
        if let checkmarkItem = item as? AppearanceSettingsCheckmarkItem, checkmarkItem.themeName == currentThemeName {
            cell.accessoryType = .checkmark
        }
        
        if let switchItem = item as? AppearanceSettingsSwitchItem {

    }
    
}

extension WMFSettingsTableViewCell {
    override open func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
        self.accessoryType = selected ? .checkmark : .none
    }
}
