diff --git a/test/openpower-pels/host_notifier_test.cpp b/test/openpower-pels/host_notifier_test.cpp
index 9a49a82..1906ba3 100644
--- a/test/openpower-pels/host_notifier_test.cpp
+++ b/test/openpower-pels/host_notifier_test.cpp
@@ -300,7 +300,7 @@
 
     dataIface.changeHostState(true);
 
-    runEvents(sdEvent, 1);
+    runEvents(sdEvent, 2);
 
     // It was sent up
     EXPECT_EQ(mockHostIface->numCmdsProcessed(), 1);
@@ -355,7 +355,7 @@
     HostNotifier notifier{repo, dataIface, std::move(hostIface)};
 
     // It should start sending PELs right away
-    runEvents(sdEvent, 2);
+    runEvents(sdEvent, 3);
 
     EXPECT_EQ(mockHostIface->numCmdsProcessed(), 2);
     EXPECT_EQ(notifier.queueSize(), 0);
@@ -466,7 +466,7 @@
     EXPECT_EQ(notifier.queueSize(), 1);
 
     // Dispatch it
-    runEvents(sdEvent, 1);
+    runEvents(sdEvent, 2);
 
     // It was sent and off the queue
     EXPECT_EQ(notifier.queueSize(), 0);
@@ -505,7 +505,7 @@
 
     dataIface.changeHostState(true);
 
-    runEvents(sdEvent, 2);
+    runEvents(sdEvent, 3);
 
     // The were both sent.
     EXPECT_EQ(mockHostIface->numCmdsProcessed(), 2);
@@ -518,7 +518,7 @@
 
     // Power back on and send them again
     dataIface.changeHostState(true);
-    runEvents(sdEvent, 2);
+    runEvents(sdEvent, 3);
 
     EXPECT_EQ(mockHostIface->numCmdsProcessed(), 4);
     EXPECT_EQ(notifier.queueSize(), 0);
diff --git a/test/openpower-pels/mocks.hpp b/test/openpower-pels/mocks.hpp
index da7c060..63786c4 100644
--- a/test/openpower-pels/mocks.hpp
+++ b/test/openpower-pels/mocks.hpp
@@ -146,6 +146,17 @@
     }
 
     /**
+     * @brief Returns the amount of time to wait after the host is up
+     *        before sending commands.
+     *
+     * @return milliseconds - The amount of time to wait
+     */
+    virtual std::chrono::milliseconds getHostUpDelay() const override
+    {
+        return std::chrono::milliseconds(0);
+    }
+
+    /**
      * @brief Returns the number of commands processed
      */
     size_t numCmdsProcessed() const
