diff --git a/libhwcomposer/hwc_video.cpp b/libhwcomposer/hwc_video.cpp
index 38ac695..bedd9e9 100644
--- a/libhwcomposer/hwc_video.cpp
+++ b/libhwcomposer/hwc_video.cpp
@@ -130,17 +130,7 @@
     ov.setSource(pargs, ovutils::OV_PIPE0);
 
     hwc_rect_t sourceCrop = layer->sourceCrop;
-    // x,y,w,h
-    ovutils::Dim dcrop(sourceCrop.left, sourceCrop.top,
-            sourceCrop.right - sourceCrop.left,
-            sourceCrop.bottom - sourceCrop.top);
-
-    ovutils::Dim dpos;
     hwc_rect_t displayFrame = layer->displayFrame;
-    dpos.x = displayFrame.left;
-    dpos.y = displayFrame.top;
-    dpos.w = (displayFrame.right - displayFrame.left);
-    dpos.h = (displayFrame.bottom - displayFrame.top);
 
     //Calculate the rect for primary based on whether the supplied position
     //is within or outside bounds.
@@ -153,19 +143,13 @@
             displayFrame.top < 0 ||
             displayFrame.right > fbWidth ||
             displayFrame.bottom > fbHeight) {
-
         calculate_crop_rects(sourceCrop, displayFrame, fbWidth, fbHeight);
-
-        //Update calculated width and height
-        dcrop.w = sourceCrop.right - sourceCrop.left;
-        dcrop.h = sourceCrop.bottom - sourceCrop.top;
-
-        dpos.x = displayFrame.left;
-        dpos.y = displayFrame.top;
-        dpos.w = displayFrame.right - displayFrame.left;
-        dpos.h = displayFrame.bottom - displayFrame.top;
     }
 
+    // source crop x,y,w,h
+    ovutils::Dim dcrop(sourceCrop.left, sourceCrop.top,
+            sourceCrop.right - sourceCrop.left,
+            sourceCrop.bottom - sourceCrop.top);
     //Only for Primary
     ov.setCrop(dcrop, ovutils::OV_PIPE0);
 
@@ -174,6 +158,11 @@
             static_cast<ovutils::eTransform>(transform);
     ov.setTransform(orient, ovutils::OV_PIPE0);
 
+    // position x,y,w,h
+    ovutils::Dim dpos(displayFrame.left,
+            displayFrame.top,
+            displayFrame.right - displayFrame.left,
+            displayFrame.bottom - displayFrame.top);
     ov.setPosition(dpos, ovutils::OV_PIPE0);
 
     if (!ov.commit(ovutils::OV_PIPE0)) {
