         self.updateOpenButtonWait()
         
         if self.config.boolForKey("useAutoTheme") == true {
-            self.captureTimer?.invalidate()
+            self.removeImageCaptureTimer()
             self.endCaptureSession()
         }
     }
 
+    ///////////////////////////////////////////////////////////////////////
+    //
+    //  Settings view notification handlers
+    //
     
     func handleSettingsUpdated() {
         println("View told settings have updated")
         self.setTheme()
         
         if config.boolForKey("useAutoTheme") == true {
-            // we know this changed from false to true
-            self.setupAutoTheme()
+            println("  Use Auto Theme: true")
+            if self.captureSession == nil {
+                // only if we have a nil session to we need to start
+                println("  Auto theme not running - starting")
+                self.setupAutoTheme()
+            }
         } else {
-            self.captureTimer?.invalidate()
+            println("  Use Auto Theme: false")
+            self.removeImageCaptureTimer()
             self.endCaptureSession()
             self.setupWithoutAutoTheme()
         }

    
    
    func setupImageCaptureTimer() {
        
        self.ISOValueLabel.text = ""
        self.expValueLabel.text = ""
        self.lumValueLabel.text = ""
        
        self.captureTimer = NSTimer.scheduledTimerWithTimeInterval(
            4.0,
            target: self,
            selector: "doActualCapture",
            userInfo: nil,
            repeats: true
        )
    }
    
    

        
    }
    
    ///////////////////////////////////////////////////////////////////////
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
