diff --git a/common/FormatConverter.cpp b/common/FormatConverter.cpp
index 4f4a3d0..18893d5 100644
--- a/common/FormatConverter.cpp
+++ b/common/FormatConverter.cpp
@@ -206,6 +206,13 @@
         inputLayout.type = C2PlanarLayout::TYPE_RGB;
     }
 
+    if (inputFormat == mOutFormat) {
+        ALOGV("Zero-Copy is applied");
+        mGraphicBlocks.emplace_back(new BlockEntry(frameIndex));
+        *convertedBlock = inputBlock;
+        return C2_OK;
+    }
+
     if (!isReady()) {
         ALOGV("There is no available block for conversion");
         return C2_NO_MEMORY;
@@ -233,13 +240,6 @@
         const int srcStrideU = inputLayout.planes[C2PlanarLayout::PLANE_U].rowInc;
         const int srcStrideV = inputLayout.planes[C2PlanarLayout::PLANE_V].rowInc;
 
-        if (inputFormat == mOutFormat) {
-            ALOGV("Zero-Copy is applied");
-            mGraphicBlocks.emplace_back(new BlockEntry(frameIndex));
-            *convertedBlock = inputBlock;
-            return C2_OK;
-        }
-
         switch (convertMap(inputFormat, mOutFormat)) {
         case convertMap(VideoPixelFormat::YV12, VideoPixelFormat::I420):
             libyuv::I420Copy(srcY, srcStrideY, srcU, srcStrideU, srcV, srcStrideV, dstY, dstStrideY,
