diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index b563784fc93489dc2ed37735df0716ac26d2bac7..ff35e33213c8e1f08b0c85d168cae9af717590c4 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -2174,7 +2174,7 @@ static int gray16togray(SwsContext *c, uint8_t* src[], int srcStride[], int srcS
         memset(dst[1], 128, dstStride[1]*height);
         memset(dst[2], 128, dstStride[2]*height);
     }
-    if (c->srcFormat == PIX_FMT_GRAY16LE) srcPtr++;
+    if (!isBE(c->srcFormat)) srcPtr++;
     for (i=0; i<height; i++)
     {
         for (j=0; j<length; j++) dstPtr[j] = srcPtr[j<<1];