diff --git a/libs/hwui/JankTracker.cpp b/libs/hwui/JankTracker.cpp
index 3e5cbb5..1e5be6c 100644
--- a/libs/hwui/JankTracker.cpp
+++ b/libs/hwui/JankTracker.cpp
@@ -111,19 +111,22 @@
             // the actual time spent blocked.
             nsecs_t forgiveAmount =
                     std::min(expectedDequeueDuration, frame[FrameInfoIndex::DequeueBufferDuration]);
-            LOG_ALWAYS_FATAL_IF(forgiveAmount >= totalDuration,
-                                "Impossible dequeue duration! dequeue duration reported %" PRId64
-                                ", total duration %" PRId64,
-                                forgiveAmount, totalDuration);
+            if (forgiveAmount >= totalDuration) {
+                ALOGV("Impossible dequeue duration! dequeue duration reported %" PRId64
+                      ", total duration %" PRId64,
+                      forgiveAmount, totalDuration);
+                return;
+            }
             totalDuration -= forgiveAmount;
         }
     }
 
-    LOG_ALWAYS_FATAL_IF(totalDuration <= 0, "Impossible totalDuration %" PRId64 " start=%" PRIi64
-                        " gpuComplete=%" PRIi64, totalDuration,
-                        frame[FrameInfoIndex::IntendedVsync],
-                        frame[FrameInfoIndex::GpuCompleted]);
-
+    if (totalDuration <= 0) {
+        ALOGV("Impossible totalDuration %" PRId64 " start=%" PRIi64 " gpuComplete=%" PRIi64,
+              totalDuration, frame[FrameInfoIndex::IntendedVsync],
+              frame[FrameInfoIndex::GpuCompleted]);
+        return;
+    }
 
     // Only things like Surface.lockHardwareCanvas() are exempt from tracking
     if (CC_UNLIKELY(frame[FrameInfoIndex::Flags] & EXEMPT_FRAMES_FLAGS)) {
@@ -174,7 +177,10 @@
     int64_t totalDuration = frame.duration(FrameInfoIndex::IntendedVsync,
             FrameInfoIndex::FrameCompleted);
 
-    LOG_ALWAYS_FATAL_IF(totalDuration <= 0, "Impossible totalDuration %" PRId64, totalDuration);
+    if (totalDuration <= 0) {
+        ALOGV("Impossible totalDuration %" PRId64, totalDuration);
+        return;
+    }
     mData->reportFrame(totalDuration);
     (*mGlobalData)->reportFrame(totalDuration);
 
