diff --git a/sensordatahandler.hpp b/sensordatahandler.hpp
index 99c3ae9..f74eeb5 100644
--- a/sensordatahandler.hpp
+++ b/sensordatahandler.hpp
@@ -275,8 +275,8 @@
     for (const auto& property : interface->second)
     {
         msg.append(property.first);
-        std::variant<T> value =
-            (cmdData.assertOffset8_14 << 8) | cmdData.assertOffset0_7;
+        std::variant<T> value = static_cast<T>((cmdData.assertOffset8_14 << 8) |
+                                               cmdData.assertOffset0_7);
         msg.append(value);
     }
     return updateToDbus(msg);
diff --git a/storagehandler.cpp b/storagehandler.cpp
index 905d0b7..e4b43dd 100644
--- a/storagehandler.cpp
+++ b/storagehandler.cpp
@@ -539,7 +539,7 @@
     {
         sdbusplus::bus::bus bus{ipmid_get_sd_bus_connection()};
         auto service = ipmi::getService(bus, TIME_INTERFACE, HOST_TIME_PATH);
-        std::variant<uint64_t> value{usec.count()};
+        std::variant<uint64_t> value{(uint64_t)usec.count()};
 
         // Set host time
         auto method = bus.new_method_call(service.c_str(), HOST_TIME_PATH,
