diff --git a/libs/gui/SurfaceTextureClient.cpp b/libs/gui/SurfaceTextureClient.cpp
index 57bc604..84f2ff4 100644
--- a/libs/gui/SurfaceTextureClient.cpp
+++ b/libs/gui/SurfaceTextureClient.cpp
@@ -222,15 +222,18 @@
     }
 
     if (fence.get()) {
-        status_t err = fence->wait(Fence::TIMEOUT_NEVER);
-        if (err != OK) {
-            ALOGE("dequeueBuffer: error waiting for fence: %d", err);
+        *fenceFd = fence->dup();
+        if (*fenceFd == -1) {
+            ALOGE("dequeueBuffer: error duping fence: %d", errno);
+            // dup() should never fail; something is badly wrong. Soldier on
+            // and hope for the best; the worst that should happen is some
+            // visible corruption that lasts until the next frame.
         }
-        fence.clear();
+    } else {
+        *fenceFd = -1;
     }
 
     *buffer = gbuf.get();
-    *fenceFd = -1;
     return OK;
 }
 
diff --git a/libs/ui/Fence.cpp b/libs/ui/Fence.cpp
index 5c17d10..08340f2 100644
--- a/libs/ui/Fence.cpp
+++ b/libs/ui/Fence.cpp
@@ -62,6 +62,10 @@
     return sp<Fence>(new Fence(result));
 }
 
+int Fence::dup() const {
+    return ::dup(mFenceFd);
+}
+
 size_t Fence::getFlattenedSize() const {
     return 0;
 }
