--- a/libtiff/tif_getimage.c	2016-09-22 14:12:27.736377724 -0700
+++ b/libtiff/tif_getimage.c	2016-09-22 14:36:19.730567366 -0700
@@ -1822,10 +1822,10 @@
     (void) y;
     /* adjust fromskew */
     fromskew = (fromskew * 18) / 4;
-    if ((h & 3) == 0 && (w & 3) == 0) {				        
+    if ((w & 3) == 0 && (h & 1) == 0) {				        
         for (; h >= 4; h -= 4) {
             x = w>>2;
-            do {
+			while(x>0) {
                 int32 Cb = pp[16];
                 int32 Cr = pp[17];
 
@@ -1848,7 +1848,8 @@
                 cp2 += 4;
                 cp3 += 4;
                 pp += 18;
-            } while (--x);
+           		x--;
+				}
             cp += incr;
             cp1 += incr;
             cp2 += incr;
@@ -2094,7 +2095,7 @@
 {
 	(void) y;
 	fromskew = (fromskew * 4) / 2;
-	do {
+	while(x>0) {
 		x = w>>1;
 		while(x>0) {
 			int32 Cb = pp[2];
@@ -2121,7 +2122,8 @@
 
 		cp += toskew;
 		pp += fromskew;
-	} while (--h);
+		x --;
+	}
 }
 
 /*