diff --git a/libavcodec/tiffenc.c b/libavcodec/tiffenc.c
index d7e881dafbda271a33a611de470a0487bcd41cc1..72353c0bc1cf6d9bd914c92bc0a127469c1d55ef 100644
--- a/libavcodec/tiffenc.c
+++ b/libavcodec/tiffenc.c
@@ -402,6 +402,8 @@ static int encode_frame(AVCodecContext * avctx, unsigned char *buf,
     add_entry(s, TIFF_XRES,              TIFF_RATIONAL, 1,      res);
     add_entry(s, TIFF_YRES,              TIFF_RATIONAL, 1,      res);
     add_entry1(s,TIFF_RES_UNIT,          TIFF_SHORT,            2);
+
+    if(!(avctx->flags & CODEC_FLAG_BITEXACT))
     add_entry(s, TIFF_SOFTWARE_NAME,     TIFF_STRING,
               strlen(LIBAVCODEC_IDENT) + 1, LIBAVCODEC_IDENT);
 
diff --git a/tests/libav.regression.ref b/tests/libav.regression.ref
index a2ac3b90723aad220835732bd61cd6b84289a3c7..45297f7e9bd7d70751126472949167ca04a392cf 100644
--- a/tests/libav.regression.ref
+++ b/tests/libav.regression.ref
@@ -53,7 +53,7 @@ c3a9f333ddebff6eae3f4360bad2de29 *./data/b-libav02.bmp
 ./data/b-libav%02d.tga CRC=0xf3a66ecf
 f558eef0740c4b247f1eb17e1dbf7adf *./data/b-libav02.tga
 ./data/b-libav%02d.tiff CRC=0x25c06ecf
-080ebff6fd1216e391b30b484ef9b9ea *./data/b-libav02.tiff
+3076b16ac0c8a39a796e69944f6a40dc *./data/b-libav02.tiff
 ./data/b-libav%02d.sgi CRC=0x00000001
 c6cab058a2b0a33ee843bd096b280075 *./data/b-libav02.sgi
 ./data/b-libav%02d.jpg CRC=0x62328baa
diff --git a/tests/regression.sh b/tests/regression.sh
index c4ebeb0f9f1be6f3131ca7d396c9fa29ce7cf597..7a7e95c6f38d66cbeed4620b5dd0ac582d378dbd 100755
--- a/tests/regression.sh
+++ b/tests/regression.sh
@@ -218,7 +218,7 @@ do_streamed_images()
 do_image_formats()
 {
     file=${outfile}libav%02d.$1
-    $ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $2 $3 $file
+    $ffmpeg -t 0.5 -y -qscale 10 -f pgmyuv -i $raw_src $2 $3 -flags +bitexact $file
     do_ffmpeg_crc $file $3 -i $file
     do_md5sum ${outfile}libav02.$1 >> $logfile
 }