The onErrorType attribute of the image element is applicable only to errors that occur during the loading of images from files or input streams. It does not cover errors raised by the image expression at evaluation time. Data providers should behave as a database: when data (in this case an image) is requested, it should not fail but simply respond with an image or null. However as it is possible to write complex expression, it would be useful to trap errors during image expression evaluation as well. Upon request, a bugreport for this has been submitted: http://community.jaspersoft.com/jasperreports-library/issues/9156. Thank you Teodor and Lucian for looking into this.