diff --git a/app/src/main/java/org/lineageos/aperture/MainActivity.kt b/app/src/main/java/org/lineageos/aperture/MainActivity.kt
index 2c3bf35..c4e1b79 100644
--- a/app/src/main/java/org/lineageos/aperture/MainActivity.kt
+++ b/app/src/main/java/org/lineageos/aperture/MainActivity.kt
@@ -386,6 +386,10 @@
             when (cameraMode) {
                 CameraMode.PHOTO -> startShutterAnimation(ShutterAnimation.PhotoCapture)
                 CameraMode.VIDEO -> {
+                    if (countDownView.cancelCountDown()) {
+                        startShutterAnimation(ShutterAnimation.VideoEnd)
+                        return@setOnClickListener
+                    }
                     if (!cameraController.isRecording) {
                         startShutterAnimation(ShutterAnimation.VideoStart)
                     }
@@ -1256,7 +1260,7 @@
             runnable()
         }
 
-        shutterButton.isEnabled = false
+        shutterButton.isEnabled = cameraMode == CameraMode.VIDEO
 
         val rect = Rect().apply {
             viewFinder.getGlobalVisibleRect(this)
diff --git a/app/src/main/java/org/lineageos/aperture/ui/CountDownView.kt b/app/src/main/java/org/lineageos/aperture/ui/CountDownView.kt
index 2a4b6c5..e13f162 100644
--- a/app/src/main/java/org/lineageos/aperture/ui/CountDownView.kt
+++ b/app/src/main/java/org/lineageos/aperture/ui/CountDownView.kt
@@ -113,12 +113,14 @@
     /**
      * Cancels the on-going countdown in the UI, if any.
      */
-    private fun cancelCountDown() {
+    fun cancelCountDown(): Boolean {
         if (remainingSeconds > 0) {
             remainingSeconds = 0
             handler.removeMessages(SET_TIMER_TEXT)
             isInvisible = true
+            return true
         }
+        return false
     }
 
     companion object {
