diff --git a/libhwcomposer/hwc_copybit.cpp b/libhwcomposer/hwc_copybit.cpp
index 0843da4..d7afa19 100644
--- a/libhwcomposer/hwc_copybit.cpp
+++ b/libhwcomposer/hwc_copybit.cpp
@@ -158,7 +158,10 @@
     //framebuffers
 
     if ( updatingLayerCount ==  1 ) {
-       hwc_rect_t dirtyRect =list->hwLayers[changingLayerIndex].dirtyRect;
+       hwc_rect_t dirtyRect = list->hwLayers[changingLayerIndex].displayFrame;
+#ifdef QCOM_BSP
+       dirtyRect = list->hwLayers[changingLayerIndex].dirtyRect;
+#endif
 
        for (int k = ctx->listStats[dpy].numAppLayers-1; k >= 0 ; k--){
             //disable swap rect for overlapping visible layer(s)
@@ -379,7 +382,11 @@
     mDirtyLayerIndex =  checkDirtyRect(ctx, list, dpy);
     if( mDirtyLayerIndex != -1){
           hwc_layer_1_t *layer = &list->hwLayers[mDirtyLayerIndex];
+#ifdef QCOM_BSP
           clear(renderBuffer,layer->dirtyRect);
+#else
+          clear(renderBuffer,layer->displayFrame);
+#endif
     } else {
           hwc_rect_t clearRegion = {0,0,0,0};
           if(CBUtils::getuiClearRegion(list, clearRegion, layerProp))
@@ -509,6 +516,7 @@
     copybit_rect_t dstRect = {displayFrame.left, displayFrame.top,
                               displayFrame.right,
                               displayFrame.bottom};
+#ifdef QCOM_BSP
     //change src and dst with dirtyRect
     if(mDirtyLayerIndex != -1) {
       srcRect.l = layer->dirtyRect.left;
@@ -517,6 +525,7 @@
       srcRect.b = layer->dirtyRect.bottom;
       dstRect = srcRect;
     }
+#endif
     // Copybit dst
     copybit_image_t dst;
     dst.w = ALIGN(fbHandle->width,32);
