diff --git a/Checkpoint.cpp b/Checkpoint.cpp
index 3392be5..e060230 100644
--- a/Checkpoint.cpp
+++ b/Checkpoint.cpp
@@ -261,8 +261,9 @@
 }
 
 namespace {
-const std::string kSleepTimeProp = "ro.sys.cp_usleeptime";
-const uint32_t usleeptime_default = 1000000;  // 1 s
+const std::string kSleepTimeProp = "ro.sys.cp_msleeptime";
+const uint32_t msleeptime_default = 1000;  // 1 s
+const uint32_t max_msleeptime = 3600000;   // 1 h
 
 const std::string kMinFreeBytesProp = "ro.sys.cp_min_free_bytes";
 const uint64_t min_free_bytes_default = 100 * (1 << 20);  // 100 MiB
@@ -273,11 +274,15 @@
 static void cp_healthDaemon(std::string mnt_pnt, std::string blk_device, bool is_fs_cp) {
     struct statvfs data;
     uint64_t free_bytes = 0;
-    uint32_t usleeptime = GetUintProperty(kSleepTimeProp, usleeptime_default, (uint32_t)-1);
+    uint32_t msleeptime = GetUintProperty(kSleepTimeProp, msleeptime_default, max_msleeptime);
     uint64_t min_free_bytes =
         GetUintProperty(kMinFreeBytesProp, min_free_bytes_default, (uint64_t)-1);
     bool commit_on_full = GetBoolProperty(kCommitOnFullProp, commit_on_full_default);
 
+    struct timespec req;
+    req.tv_sec = msleeptime / 1000;
+    msleeptime %= 1000;
+    req.tv_nsec = msleeptime * 1000000;
     while (isCheckpointing) {
         if (is_fs_cp) {
             statvfs(mnt_pnt.c_str(), &data);
@@ -302,7 +307,7 @@
                 break;
             }
         }
-        usleep(usleeptime);
+        nanosleep(&req, NULL);
     }
 }
 
