diff --git a/sw/device/tests/dif/dif_otbn_smoketest.c b/sw/device/tests/dif/dif_otbn_smoketest.c
index d53acea..57268d0 100644
--- a/sw/device/tests/dif/dif_otbn_smoketest.c
+++ b/sw/device/tests/dif/dif_otbn_smoketest.c
@@ -31,7 +31,6 @@
  */
 static void check_otbn_err_bits(otbn_t *otbn_ctx,
                                 dif_otbn_err_bits_t expected_err_bits) {
-  LOG_INFO("Checking error bits");
   dif_otbn_err_bits_t otbn_err_bits;
   dif_otbn_result_t rv = dif_otbn_get_err_bits(&otbn_ctx->dif, &otbn_err_bits);
   CHECK(rv == kDifOtbnOk, "dif_otbn_get_err_bits() failed: %d", rv);
@@ -86,7 +85,6 @@
   // c = (a * b) % m = (10 * 20) % m = 200
   static const uint8_t c_expected[kDataSizeBytes] = {200};
 
-  LOG_INFO("Writing input arguments to DMEM");
   // TODO: Use symbols from the application to load these parameters once they
   // are available (#3998).
   CHECK(dif_otbn_dmem_write(&otbn_ctx->dif, /*offset_bytes=*/0, &a,
@@ -98,17 +96,10 @@
   CHECK(dif_otbn_dmem_write(&otbn_ctx->dif, /*offset_bytes=*/320, &u,
                             sizeof(u)) == kDifOtbnOk);
 
-  int t_start = ibex_mcycle_read();
-
-  LOG_INFO("Calling wrap_barrett384()");
   CHECK(otbn_call_function(otbn_ctx, kFuncWrapBarrett384) == kOtbnOk);
   CHECK(otbn_busy_wait_for_done(otbn_ctx) == kOtbnOk);
 
-  int t_end = ibex_mcycle_read();
-  LOG_INFO("Function execution on OTBN took %d cycles (end-to-end).",
-           t_end - t_start);
-
-  LOG_INFO("Reading back result (c)");
+  // Reading back result (c).
   dif_otbn_dmem_read(&otbn_ctx->dif, 512, &c, sizeof(c));
 
   for (int i = 0; i < sizeof(c); ++i) {
@@ -131,16 +122,9 @@
 static void test_err_test(otbn_t *otbn_ctx) {
   CHECK(otbn_load_app(otbn_ctx, kAppErrTest) == kOtbnOk);
 
-  int t_start = ibex_mcycle_read();
-
-  LOG_INFO("Calling wrap_err_test()");
   CHECK(otbn_call_function(otbn_ctx, kFuncWrapErrTest) == kOtbnOk);
   CHECK(otbn_busy_wait_for_done(otbn_ctx) == kOtbnExecutionFailed);
 
-  int t_end = ibex_mcycle_read();
-  LOG_INFO("Function execution on OTBN took %d cycles (end-to-end).",
-           t_end - t_start);
-
   check_otbn_err_bits(otbn_ctx, kDifOtbnErrBitsBadDataAddr);
 }
 
@@ -152,10 +136,7 @@
   otbn_t otbn_ctx;
   CHECK(otbn_init(&otbn_ctx, otbn_config) == kOtbnOk);
 
-  LOG_INFO("Running barrett384 code on OTBN");
   test_barrett384(&otbn_ctx);
-
-  LOG_INFO("Running err_test code on OTBN");
   test_err_test(&otbn_ctx);
 
   return true;
diff --git a/sw/device/tests/dif/meson.build b/sw/device/tests/dif/meson.build
index 12f0f51..0ca0098 100644
--- a/sw/device/tests/dif/meson.build
+++ b/sw/device/tests/dif/meson.build
@@ -292,7 +292,6 @@
     sources: ['dif_otbn_smoketest.c'],
     dependencies: [
       sw_lib_dif_otbn,
-      sw_lib_runtime_log,
       sw_lib_runtime_hart,
       sw_lib_runtime_otbn,
       top_earlgrey,
