diff --git a/extensions/openpower-pels/bcd_time.cpp b/extensions/openpower-pels/bcd_time.cpp
index 554a230..cf11951 100644
--- a/extensions/openpower-pels/bcd_time.cpp
+++ b/extensions/openpower-pels/bcd_time.cpp
@@ -43,17 +43,17 @@
 
     using namespace std::chrono;
     time_t t = system_clock::to_time_t(time);
-    tm* localTime = localtime(&t);
-    assert(localTime != nullptr);
+    tm* gmTime = gmtime(&t);
+    assert(gmTime != nullptr);
 
-    int year = 1900 + localTime->tm_year;
+    int year = 1900 + gmTime->tm_year;
     bcd.yearMSB = toBCD(year / 100);
     bcd.yearLSB = toBCD(year % 100);
-    bcd.month = toBCD(localTime->tm_mon + 1);
-    bcd.day = toBCD(localTime->tm_mday);
-    bcd.hour = toBCD(localTime->tm_hour);
-    bcd.minutes = toBCD(localTime->tm_min);
-    bcd.seconds = toBCD(localTime->tm_sec);
+    bcd.month = toBCD(gmTime->tm_mon + 1);
+    bcd.day = toBCD(gmTime->tm_mday);
+    bcd.hour = toBCD(gmTime->tm_hour);
+    bcd.minutes = toBCD(gmTime->tm_min);
+    bcd.seconds = toBCD(gmTime->tm_sec);
 
     auto ms = duration_cast<milliseconds>(time.time_since_epoch()).count();
     int hundredths = (ms % 1000) / 10;
diff --git a/extensions/openpower-pels/journal.cpp b/extensions/openpower-pels/journal.cpp
index 8b7f1f7..c9789fb 100644
--- a/extensions/openpower-pels/journal.cpp
+++ b/extensions/openpower-pels/journal.cpp
@@ -177,7 +177,7 @@
     time_t secs = usec / 1000000;
 
     // Convert seconds to tm struct required by strftime()
-    struct tm* timeStruct = localtime(&secs);
+    struct tm* timeStruct = gmtime(&secs);
     if (timeStruct == nullptr)
     {
         throw std::runtime_error{
diff --git a/test/openpower-pels/bcd_time_test.cpp b/test/openpower-pels/bcd_time_test.cpp
index 1f444b3..f0f3111 100644
--- a/test/openpower-pels/bcd_time_test.cpp
+++ b/test/openpower-pels/bcd_time_test.cpp
@@ -81,7 +81,7 @@
     time_tm.tm_sec = 42;
     time_tm.tm_isdst = 0;
 
-    auto timepoint = std::chrono::system_clock::from_time_t(mktime(&time_tm));
+    auto timepoint = std::chrono::system_clock::from_time_t(timegm(&time_tm));
     auto timeInBCD = getBCDTime(timepoint);
 
     EXPECT_EQ(timeInBCD.yearMSB, 0x20);
diff --git a/test/openpower-pels/private_header_test.cpp b/test/openpower-pels/private_header_test.cpp
index f7c1446..3b9e8f0 100644
--- a/test/openpower-pels/private_header_test.cpp
+++ b/test/openpower-pels/private_header_test.cpp
@@ -156,7 +156,7 @@
     time_tm.tm_isdst = 0;
 
     // Convert the above time into a uint64_t in ms since the epoch time
-    auto timepoint = std::chrono::system_clock::from_time_t(mktime(&time_tm));
+    auto timepoint = std::chrono::system_clock::from_time_t(timegm(&time_tm));
     auto timestamp = std::chrono::duration_cast<std::chrono::milliseconds>(
                          timepoint.time_since_epoch())
                          .count();
