diff --git a/watchdog.cpp b/watchdog.cpp
index 4a87a0d..b5cae66 100644
--- a/watchdog.cpp
+++ b/watchdog.cpp
@@ -71,24 +71,18 @@
 // Reset the timer to a new expiration value
 uint64_t Watchdog::timeRemaining(uint64_t value)
 {
-    if (this->enabled())
+    if (timer.getEnabled() == SD_EVENT_OFF)
     {
-        // Disable the timer
-        timer.setEnabled<std::false_type>();
-
-        // Timer handles all in microseconds and hence converting
-        auto usec = duration_cast<microseconds>(
-                                  milliseconds(value));
-        // Update new expiration
-        timer.start(usec);
-
-        // Enable the timer.
-        timer.setEnabled<std::true_type>();
-
-        // Update Base class data.
-        return WatchdogInherits::timeRemaining(value);
+        // We don't need to update the timer because it is off
+        return 0;
     }
-    return 0;
+
+    // Update new expiration
+    auto usec = duration_cast<microseconds>(milliseconds(value));
+    timer.start(usec);
+
+    // Update Base class data.
+    return WatchdogInherits::timeRemaining(value);
 }
 
 // Optional callback function on timer expiration
