diff --git a/doc/html/changelog.html b/doc/html/changelog.html
index 15867d1f..dd37e74f 100644
--- a/doc/html/changelog.html
+++ b/doc/html/changelog.html
@@ -110,7 +110,7 @@
libraries:
- - (none)
+ - libFLAC: Fixed very rare seek bug (SF #1684049).
diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
index 1d7b1599..86eaacfa 100644
--- a/src/libFLAC/stream_decoder.c
+++ b/src/libFLAC/stream_decoder.c
@@ -2043,6 +2043,8 @@ FLAC__bool read_frame_(FLAC__StreamDecoder *decoder, FLAC__bool *got_a_frame, FL
}
if(!read_zero_padding_(decoder))
return false;
+ if(decoder->protected_->state == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC) /* means bad sync or got corruption (i.e. "zero bits" were not all zeroes) */
+ return true;
/*
* Read the frame CRC-16 from the footer and check