diff --git a/src/ipmiblob/blob_handler.cpp b/src/ipmiblob/blob_handler.cpp
index b91b775..7a688bf 100644
--- a/src/ipmiblob/blob_handler.cpp
+++ b/src/ipmiblob/blob_handler.cpp
@@ -100,12 +100,6 @@
     auto ptr = reinterpret_cast<std::uint8_t*>(&crc);
     std::memcpy(ptr, &reply[ipmiPhosphorOen.size()], sizeof(crc));
 
-    for (const auto& byte : reply)
-    {
-        std::fprintf(stderr, "0x%02x ", byte);
-    }
-    std::fprintf(stderr, "\n");
-
     bytes.insert(bytes.begin(), reply.begin() + headerSize, reply.end());
 
     auto computed = generateCrc(bytes);
@@ -138,7 +132,6 @@
         return 0;
     }
 
-    std::fprintf(stderr, "BLOB Count: %u\n", count);
     return count;
 }
 
diff --git a/src/ipmiblob/ipmi_handler.cpp b/src/ipmiblob/ipmi_handler.cpp
index e4c59fc..0735004 100644
--- a/src/ipmiblob/ipmi_handler.cpp
+++ b/src/ipmiblob/ipmi_handler.cpp
@@ -153,12 +153,6 @@
     returning.insert(returning.begin(), responseBuffer.begin() + 1,
                      responseBuffer.begin() + dataLen + 1);
 
-    for (const auto& byte : returning)
-    {
-        std::fprintf(stderr, "0x%02x ", byte);
-    }
-    std::fprintf(stderr, "\n");
-
     return returning;
 }
 
