diff --git a/examples/avif_example_decode_streaming.c b/examples/avif_example_decode_streaming.c
index 0220bc8..da41b14 100644
--- a/examples/avif_example_decode_streaming.c
+++ b/examples/avif_example_decode_streaming.c
@@ -98,7 +98,8 @@
 static avifIOStreamingReader * avifIOCreateStreamingReader(const uint8_t * data, size_t size)
 {
     avifIOStreamingReader * reader = avifAlloc(sizeof(avifIOStreamingReader));
-    if (!reader) return NULL;
+    if (!reader)
+        return NULL;
     memset(reader, 0, sizeof(avifIOStreamingReader));
 
     // It is legal for io.destroy to be NULL, in which you are responsible for cleaning up
diff --git a/src/write.c b/src/write.c
index 52b16a7..0c67730 100644
--- a/src/write.c
+++ b/src/write.c
@@ -589,8 +589,8 @@
             (cellImage->depth != firstCell->depth) || (cellImage->yuvFormat != firstCell->yuvFormat) ||
             (cellImage->yuvRange != firstCell->yuvRange) || (cellImage->colorPrimaries != firstCell->colorPrimaries) ||
             (cellImage->transferCharacteristics != firstCell->transferCharacteristics) ||
-            (cellImage->matrixCoefficients != firstCell->matrixCoefficients) ||
-            (!!cellImage->alphaPlane != !!firstCell->alphaPlane) || (cellImage->alphaPremultiplied != firstCell->alphaPremultiplied)) {
+            (cellImage->matrixCoefficients != firstCell->matrixCoefficients) || (!!cellImage->alphaPlane != !!firstCell->alphaPlane) ||
+            (cellImage->alphaPremultiplied != firstCell->alphaPremultiplied)) {
             return AVIF_RESULT_INVALID_IMAGE_GRID;
         }
 
diff --git a/tests/avifincrtest_helpers.c b/tests/avifincrtest_helpers.c
index d740631..626d1a8 100644
--- a/tests/avifincrtest_helpers.c
+++ b/tests/avifincrtest_helpers.c
@@ -49,8 +49,7 @@
     }
 
     if (image1->alphaPlane) {
-        if (!image2->alphaPlane ||
-            (image1->alphaPremultiplied != image2->alphaPremultiplied)) {
+        if (!image2->alphaPlane || (image1->alphaPremultiplied != image2->alphaPremultiplied)) {
             printf("ERROR: input mismatch\n");
             return AVIF_FALSE;
         }
diff --git a/tests/avify4mtest.c b/tests/avify4mtest.c
index 8be2799..cd9f723 100644
--- a/tests/avify4mtest.c
+++ b/tests/avify4mtest.c
@@ -46,8 +46,7 @@
     }
 
     if (image1->alphaPlane != NULL || image2->alphaPlane != NULL) {
-        if (image1->alphaPlane == NULL || image2->alphaPlane == NULL ||
-            image1->alphaPremultiplied != image2->alphaPremultiplied) {
+        if (image1->alphaPlane == NULL || image2->alphaPlane == NULL || image1->alphaPremultiplied != image2->alphaPremultiplied) {
             printf("ERROR: input mismatch\n");
             return AVIF_FALSE;
         }
