diff --git a/app/src/main/java/org/lineageos/aperture/CameraActivity.kt b/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
index ed478ac..4864b80 100644
--- a/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
+++ b/app/src/main/java/org/lineageos/aperture/CameraActivity.kt
@@ -1642,13 +1642,8 @@
     private fun cycleFlashMode() {
         val currentFlashMode = flashMode
         val newFlashMode = when (cameraMode) {
-            CameraMode.PHOTO -> currentFlashMode.next()
-            CameraMode.VIDEO ->
-                if (currentFlashMode != FlashMode.OFF) {
-                    FlashMode.OFF
-                } else {
-                    FlashMode.TORCH
-                }
+            CameraMode.PHOTO -> FlashMode.PHOTO_ALLOWED_MODES.next(currentFlashMode)
+            CameraMode.VIDEO -> FlashMode.VIDEO_ALLOWED_MODES.next(currentFlashMode)
             else -> FlashMode.OFF
         }
 
diff --git a/app/src/main/java/org/lineageos/aperture/camera/FlashMode.kt b/app/src/main/java/org/lineageos/aperture/camera/FlashMode.kt
index af41b53..5f501b7 100644
--- a/app/src/main/java/org/lineageos/aperture/camera/FlashMode.kt
+++ b/app/src/main/java/org/lineageos/aperture/camera/FlashMode.kt
@@ -38,4 +38,24 @@
      * Get the next mode.
      */
     fun next() = values().next(this)
+
+    companion object {
+        /**
+         * Allowed flash modes when in photo mode.
+         */
+        val PHOTO_ALLOWED_MODES = listOf(
+            OFF,
+            AUTO,
+            ON,
+            TORCH,
+        )
+
+        /**
+         * Allowed flash modes when in video mode.
+         */
+        val VIDEO_ALLOWED_MODES = listOf(
+            OFF,
+            TORCH,
+        )
+    }
 }
