 	}
 
 	fileprivate func capturePhotoAsyncronously(completionHandler: @escaping(Bool) -> ()) {
+        
+        guard sessionRunning == true else {
+            print("[SwiftyCam]: Cannot take photo while session isn't running")
+            return
+        }
+        
 		if let videoConnection = photoFileOutput?.connection(withMediaType: AVMediaTypeVideo) {
 
 			photoFileOutput?.captureStillImageAsynchronously(from: videoConnection, completionHandler: {(sampleBuffer, error) in

			self.configureSession()
		}
	}

    // MARK: ViewDidLayoutSubviews
    
    /// ViewDidLayoutSubviews() Implementation


		}
	}
    
    /// Called when Notification Center registers session starts running
    
    @objc private func captureSessionDidStartRunning() {
        sessionRunning = true
    }
    
    /// Called when Notification Center registers session stops running

    @objc private func captureSessionDidStopRunning() {
        sessionRunning = false
    }
}

extension SwiftyCamViewController : SwiftyCamButtonDelegate {
