diff --git a/dbus/dbuspassive.cpp b/dbus/dbuspassive.cpp
index 41047a1..a567e96 100644
--- a/dbus/dbuspassive.cpp
+++ b/dbus/dbuspassive.cpp
@@ -115,19 +115,26 @@
 {
     std::lock_guard<std::mutex> guard(_lock);
 
-    ReadReturn r = {_value, _updated};
+    ReadReturn r = {_value, _updated, _unscaled};
 
     return r;
 }
 
-void DbusPassive::setValue(double value)
+void DbusPassive::setValue(double value, double unscaled)
 {
     std::lock_guard<std::mutex> guard(_lock);
 
     _value = value;
+    _unscaled = unscaled;
     _updated = std::chrono::high_resolution_clock::now();
 }
 
+void DbusPassive::setValue(double value)
+{
+    // First param is scaled, second param is unscaled, assume same here
+    setValue(value, value);
+}
+
 bool DbusPassive::getFailed(void) const
 {
     if (redundancy)
@@ -253,7 +260,7 @@
         }
     }
 
-    setValue(value);
+    setValue(value, unscaled);
 }
 
 int handleSensorValue(sdbusplus::message_t& msg, DbusPassive* owner)
