diff --git a/drmdisplaycompositor.cpp b/drmdisplaycompositor.cpp
index 5676f1d..3b3deef 100644
--- a/drmdisplaycompositor.cpp
+++ b/drmdisplaycompositor.cpp
@@ -300,7 +300,12 @@
   for (DrmCompositionLayer &layer : *layers) {
     int acquire_fence = layer.acquire_fence.get();
     if (acquire_fence >= 0) {
-      ret = sync_wait(acquire_fence, kAcquireWaitTimeoutMs);
+      for (int i = 0; i < kAcquireWaitTries; ++i) {
+        ret = sync_wait(acquire_fence, kAcquireWaitTimeoutMs);
+        if (ret)
+          ALOGW("Acquire fence %d wait %d failed (%d). Total time %d",
+                acquire_fence, i, ret, (i + 1) * kAcquireWaitTimeoutMs);
+      }
       if (ret) {
         ALOGE("Failed to wait for acquire %d/%d", acquire_fence, ret);
         drmModePropertySetFree(pset);
diff --git a/drmdisplaycompositor.h b/drmdisplaycompositor.h
index 0f3a12f..419960c 100644
--- a/drmdisplaycompositor.h
+++ b/drmdisplaycompositor.h
@@ -51,9 +51,10 @@
  private:
   DrmDisplayCompositor(const DrmDisplayCompositor &) = delete;
 
-  // Set to 83ms (~12fps) which is somewhere between a reasonable amount of
-  // time to wait for a long render and a small enough delay to limit jank.
-  static const int kAcquireWaitTimeoutMs = 83;
+  // We'll wait for acquire fences to fire for kAcquireWaitTimeoutMs,
+  // kAcquireWaitTries times, logging a warning in between.
+  static const int kAcquireWaitTries = 5;
+  static const int kAcquireWaitTimeoutMs = 100;
 
   int ApplyPreComposite(DrmDisplayComposition *display_comp);
   int ApplyFrame(DrmDisplayComposition *display_comp);
