--- a/src/app/virtualbox/src/VBox/VMM/VMMAll/TMAllVirtual.cpp
+++ b/src/app/virtualbox/src/VBox/VMM/VMMAll/TMAllVirtual.cpp
@@ -437,7 +437,7 @@
     bool            fStop       = false;
     const uint64_t  u64Prev     = pVM->tm.s.u64VirtualSyncCatchUpPrev;
     uint64_t        u64Delta    = u64 - u64Prev;
-    if (RT_LIKELY(!(u64Delta >> 32)))
+    if (RT_LIKELY(!(u64Delta >> 63)))
     {
         uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, pVM->tm.s.u32VirtualSyncCatchUpPercentage, 100);
         if (off > u64Sub + pVM->tm.s.offVirtualSyncGivenUp)
@@ -770,7 +770,7 @@
                 ||  cOuterTries <= 0)
             {
                 uint64_t u64Delta = u64 - u64Prev;
-                if (RT_LIKELY(!(u64Delta >> 32)))
+                if (RT_LIKELY(!(u64Delta >> 63)))
                 {
                     uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, u32Pct, 100);
                     if (off > u64Sub + offGivenUp)
--- a/src/app/virtualbox/src/VBox/VMM/VMMAll/TMAll.cpp
+++ b/src/app/virtualbox/src/VBox/VMM/VMMAll/TMAll.cpp
@@ -857,7 +857,7 @@
                 ||  cOuterTries <= 0)
             {
                 uint64_t u64Delta = u64Now - u64Prev;
-                if (RT_LIKELY(!(u64Delta >> 32)))
+                if (RT_LIKELY(!(u64Delta >> 63)))
                 {
                     uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, u32Pct, 100);
                     if (off > u64Sub + offGivenUp)
--- a/src/app/virtualbox/src/VBox/VMM/VMMR3/TM.cpp
+++ b/src/app/virtualbox/src/VBox/VMM/VMMR3/TM.cpp
@@ -2149,7 +2160,7 @@
         if (pVM->tm.s.fVirtualSyncCatchUp)
         {
             uint64_t u64Delta = u64VirtualNow - pVM->tm.s.u64VirtualSyncCatchUpPrev;
-            if (RT_LIKELY(!(u64Delta >> 32)))
+            if (RT_LIKELY(!(u64Delta >> 63)))
             {
                 uint64_t u64Sub = ASMMultU64ByU32DivByU32(u64Delta, pVM->tm.s.u32VirtualSyncCatchUpPercentage, 100);
                 if (off > u64Sub + offSyncGivenUp)
