diff --git a/occ_errors.cpp b/occ_errors.cpp
index fe81f17..bc01c91 100644
--- a/occ_errors.cpp
+++ b/occ_errors.cpp
@@ -42,7 +42,7 @@
 {
     decltype(eventSource.get()) sourcePtr = nullptr;
     auto r = sd_event_add_io(event.get(), &sourcePtr, fd,
-                             EPOLLIN, processEvents, this);
+                             EPOLLPRI | EPOLLERR, processEvents, this);
     eventSource.reset(sourcePtr);
 
     if (r < 0)
@@ -150,6 +150,19 @@
             phosphor::logging::org::open_power::OCC::Device::
                 ReadFailure::CALLOUT_DEVICE_PATH(file.c_str()));
     }
+
+    // Need to seek to START, else the poll returns immediately telling
+    // there is data to be read
+    r = lseek(fd, 0, SEEK_SET);
+    if (r < 0)
+    {
+        log<level::ERR>("Failure seeking error file to START");
+        elog<ConfigFailure>(
+            phosphor::logging::org::open_power::OCC::Device::
+                ConfigFailure::CALLOUT_ERRNO(errno),
+            phosphor::logging::org::open_power::OCC::Device::
+                ConfigFailure::CALLOUT_DEVICE_PATH(file.c_str()));
+    }
     return std::string(data.get());
 }
 
