diff --git a/tests.c b/tests.c
index 6cf4e6b..943064d 100644
--- a/tests.c
+++ b/tests.c
@@ -988,7 +988,7 @@
         dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_PremulLinear, &sRGB,
         64));
     for (int i = 0; i < 256; i+=4) {
-        for (int k = 0; k < 1; k++) { // TODO: k < 3, why is only the red channel correct?
+        for (int k = 0; k < 3; k++) {
             float l = skcms_TransferFunction_eval(tf,       src[i+k]/255.0f);
             float e = skcms_TransferFunction_eval(&inv, l * src[i+3]/255.0f);
             expect( dst[i+k] == (uint8_t)(255.0f*e + 0.5f) );
@@ -1001,7 +1001,7 @@
         dst, skcms_PixelFormat_RGBA_8888, skcms_AlphaFormat_Unpremul    , &sRGB,
         64));
     for (int i = 0; i < 256; i+=4) {
-        for (int k = 0; k < 1; k++) { // TODO: k < 3, same question as above...
+        for (int k = 0; k < 3; k++) {
             float pm = skcms_TransferFunction_eval(tf,         src[i+k]/255.0f );
             float e  = skcms_TransferFunction_eval(&inv, pm / (src[i+3]/255.0f));
             expect( dst[i+k] == (uint8_t)(255.0f*e + 0.5f) );
