diff --git a/libhwcomposer/hwc_copybit.cpp b/libhwcomposer/hwc_copybit.cpp
index a5ecb3a..33d460b 100644
--- a/libhwcomposer/hwc_copybit.cpp
+++ b/libhwcomposer/hwc_copybit.cpp
@@ -234,9 +234,6 @@
         finalW = max(finalW, ALIGN((overlap.right - overlap.left), 32));
         finalH += ALIGN((overlap.bottom - overlap.top), 32);
         if(finalH > ALIGN((overlap.bottom - overlap.top), 32)) {
-            // Calculate the offset for RGBA(4BPP)
-            ptorInfo->mRenderBuffOffset[i] = finalW *
-                (finalH - ALIGN((overlap.bottom - overlap.top), 32)) * 4;
             // Calculate the dest top, left will always be zero
             ptorInfo->displayFrame[i].top = (finalH -
                                 (ALIGN((overlap.bottom - overlap.top), 32)));
@@ -251,6 +248,14 @@
     getBufferSizeAndDimensions(finalW, finalH, HAL_PIXEL_FORMAT_RGBA_8888,
                                alignW, alignH);
 
+    int heightFromTop = 0;
+    for (int i = 0; i < ptorInfo->count; i++) {
+        // Offset depends on stride calculated by gralloc for RGBA (4 bpp)
+        ptorInfo->mRenderBuffOffset[i] = alignW * heightFromTop * 4;
+        heightFromTop += ALIGN((ptorInfo->displayFrame[i].bottom -
+                            ptorInfo->displayFrame[i].top), 32);
+    }
+
     if ((mAlignedWidth != alignW) || (mAlignedHeight != alignH)) {
         // Overlap rect has changed, so free render buffers
         freeRenderBuffers();
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index cc18686..3879698 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -1438,8 +1438,8 @@
         fd = -1;
     }
 
-    if (!dpy && ctx->mCopyBit[dpy]) {
-        if (ctx->mPtorInfo.isActive())
+    if (ctx->mCopyBit[dpy]) {
+        if (!dpy && ctx->mPtorInfo.isActive())
             ctx->mCopyBit[dpy]->setReleaseFdSync(releaseFd);
         else
             ctx->mCopyBit[dpy]->setReleaseFd(releaseFd);
