diff --git a/src/vpp-api/vom/hw.cpp b/src/vpp-api/vom/hw.cpp
index 8f64a75..0952b60 100644
--- a/src/vpp-api/vom/hw.cpp
+++ b/src/vpp-api/vom/hw.cpp
@@ -74,16 +74,14 @@
 bool
 HW::cmd_q::connect()
 {
-  int rv;
-
   if (m_connected)
     return m_connected;
 
-  rv = m_conn.connect();
-
-  m_connected = true;
-  m_rx_thread.reset(new std::thread(&HW::cmd_q::rx_run, this));
-  return (rv == 0);
+  if (0 == m_conn.connect()) {
+    m_connected = true;
+    m_rx_thread.reset(new std::thread(&HW::cmd_q::rx_run, this));
+  }
+  return (m_connected);
 }
 
 void
diff --git a/src/vpp-api/vom/om.cpp b/src/vpp-api/vom/om.cpp
index 5ac7e9d..edfc046 100644
--- a/src/vpp-api/vom/om.cpp
+++ b/src/vpp-api/vom/om.cpp
@@ -15,6 +15,7 @@
 
 #include <algorithm>
 
+#include "vom/logger.hpp"
 #include "vom/om.hpp"
 
 namespace VOM {
@@ -82,6 +83,7 @@
 void
 OM::replay()
 {
+  VOM_LOG(log_level_t::INFO) << "replay";
   /*
    * the listeners are sorted in dependency order
    */
@@ -106,6 +108,8 @@
 void
 OM::populate(const client_db::key_t& key)
 {
+  VOM_LOG(log_level_t::INFO) << "populate";
+
   /*
    * the listeners are sorted in dependency order
    */
diff --git a/src/vpp-api/vom/rpc_cmd.hpp b/src/vpp-api/vom/rpc_cmd.hpp
index bd78978..84b6717 100644
--- a/src/vpp-api/vom/rpc_cmd.hpp
+++ b/src/vpp-api/vom/rpc_cmd.hpp
@@ -105,7 +105,11 @@
    * Called by the HW Command Q when it is disabled to indicate the
    * command can be considered successful without issuing it to HW
    */
-  virtual void succeeded() { m_hw_item.set(rc_t::OK); }
+  virtual void succeeded()
+  {
+    m_hw_item.set(rc_t::OK);
+    VOM_LOG(log_level_t::DEBUG) << to_string();
+  }
 
   /**
    * call operator used as a callback by VAPI when the reply is available
