diff --git a/dbusSensor.hpp b/dbusSensor.hpp
index 4756cad..faba2c6 100644
--- a/dbusSensor.hpp
+++ b/dbusSensor.hpp
@@ -31,6 +31,15 @@
     /** @brief Get sensor value property from D-bus interface */
     double getSensorValue()
     {
+        if (servName.empty())
+        {
+            servName = getService(bus, path, sensorIntf);
+            if (servName.empty())
+            {
+                return std::numeric_limits<double>::quiet_NaN();
+            }
+        }
+
         return getDbusProperty<double>(bus, servName, path, sensorIntf,
                                        "Value");
     }
diff --git a/dbusUtils.hpp b/dbusUtils.hpp
index a12a21d..7f6f3f3 100644
--- a/dbusUtils.hpp
+++ b/dbusUtils.hpp
@@ -40,13 +40,19 @@
     }
     catch (const sdbusplus::exception::SdBusError& ex)
     {
-        log<level::ERR>("ObjectMapper call failure",
-                        entry("WHAT=%s", ex.what()));
+        if (ex.name() == std::string(sdbusplus::xyz::openbmc_project::Common::
+                                         Error::ResourceNotFound::errName))
+        {
+            // The service isn't on D-Bus yet.
+            return std::string{};
+        }
+
         throw;
     }
 
     if (resp.begin() == resp.end())
     {
+        // Shouldn't happen, if the mapper can't find it it is handled above.
         throw std::runtime_error("Unable to find Object: " + path);
     }
 
