--- old/src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2014-09-03 15:49:15.100714000 +0400 +++ new/src/java.desktop/share/classes/com/sun/imageio/plugins/bmp/BMPImageReader.java 2014-09-03 15:49:14.843681300 +0400 @@ -108,6 +108,7 @@ // BMP variables private long bitmapFileSize; private long bitmapOffset; + private long bitmapStart; private long compression; private long imageSize; private byte palette[]; @@ -677,6 +678,8 @@ //start of image data iis.reset(); iis.skipBytes(bitmapOffset); + bitmapStart = iis.getStreamPosition(); + gotHeader = true; } @@ -813,6 +816,8 @@ idata = ((DataBufferInt)raster.getDataBuffer()).getData(); } + iis.seek(bitmapStart); + // There should only be one tile. switch(imageType) {