diff --git a/pki/path_builder_pkits_unittest.cc b/pki/path_builder_pkits_unittest.cc
index e912e46..1cd1238 100644
--- a/pki/path_builder_pkits_unittest.cc
+++ b/pki/path_builder_pkits_unittest.cc
@@ -6,8 +6,6 @@
 
 #include <cstdint>
 
-#include "fillins/log.h"
-
 #include <openssl/pool.h>
 #include "cert_issuer_source_static.h"
 #include "common_cert_errors.h"
@@ -235,16 +233,17 @@
     CertPathBuilder::Result result = path_builder.Run();
 
     if (info.should_validate != result.HasValidPath()) {
+      testing::Message msg;
       for (size_t i = 0; i < result.paths.size(); ++i) {
         const bssl::CertPathBuilderResultPath *result_path =
             result.paths[i].get();
-        LOG(ERROR) << "path " << i << " errors:\n"
-                   << result_path->errors.ToDebugString(result_path->certs);
+        msg << "path " << i << " errors:\n"
+            << result_path->errors.ToDebugString(result_path->certs)
+            << "\n";
       }
+      ASSERT_EQ(info.should_validate, result.HasValidPath()) << msg;
     }
 
-    ASSERT_EQ(info.should_validate, result.HasValidPath());
-
     if (result.HasValidPath()) {
       EXPECT_EQ(info.user_constrained_policy_set,
                 result.GetBestValidPath()->user_constrained_policy_set);
