diff --git a/src/libcamera/bayer_format.cpp b/src/libcamera/bayer_format.cpp
index fdbc4af1dcc0..dd8109ba85c2 100644
--- a/src/libcamera/bayer_format.cpp
+++ b/src/libcamera/bayer_format.cpp
@@ -367,11 +367,14 @@ BayerFormat BayerFormat::fromPixelFormat(PixelFormat format)
  * \brief Apply a transform to this BayerFormat
  * \param[in] t The transform to apply
  *
- * Appplying a transform to an image stored in a Bayer format affects the Bayer
- * order. For example, performing a horizontal flip on the Bayer pattern
- * RGGB causes the RG rows of pixels to become GR, and the GB rows to become BG.
- * The transformed image would have a GRBG order. The bit depth and modifiers
- * are not affected.
+ * Applying a transform to an image stored in a Bayer format affects the Bayer
+ * order. For example, performing a horizontal flip on the Bayer pattern RGGB
+ * causes the RG rows of pixels to become GR, and the GB rows to become BG. The
+ * transformed image would have a GRBG order. Performing a vertical flip on
+ * the Bayer pattern RGGB causes the GB row to be read before the RG one and the
+ * transformed image would have GBRG order. Applying both vertical and
+ * horizontal flips on the Bayer patter RGGB results in transformed images with
+ * BGGR order. The bit depth and modifiers are not affected.
  *
  * Horizontal and vertical flips are applied before transpose.
  *
@@ -386,8 +389,11 @@ BayerFormat BayerFormat::transform(Transform t) const
 
 	/*
 	 * Observe that flipping bit 0 of the Order enum performs a horizontal
-	 * mirror on the Bayer pattern (e.g. RGGB goes to GRBG). Similarly,
-	 * flipping bit 1 performs a vertical mirror operation on it. Hence:
+	 * mirror on the Bayer pattern (e.g. RG/GB goes to GR/BG). Similarly,
+	 * flipping bit 1 performs a vertical mirror operation on it (e.g RG/GB
+	 * goes to GB/RG). Applying both vertical and horizontal flips
+	 * combines vertical and horizontal mirroring on the Bayer pattern
+	 * (e.g. RG/GB goes to BG/GR). Hence:
 	 */
 	if (!!(t & Transform::HFlip))
 		result.order = static_cast<Order>(result.order ^ 1);
