diff --git a/NEWS b/NEWS
index fb394edfe..994bdf407 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
 ver 0.16.2 (2011/??/??)
 * decoder:
   - tremor: fix configure test
+  - gme: detect end of song
 
 
 ver 0.16.1 (2011/01/09)
diff --git a/src/decoder/gme_decoder_plugin.c b/src/decoder/gme_decoder_plugin.c
index 4a5220a3f..e14a52d32 100644
--- a/src/decoder/gme_decoder_plugin.c
+++ b/src/decoder/gme_decoder_plugin.c
@@ -153,6 +153,9 @@ gme_file_decode(struct decoder *decoder, const char *path_fs)
 	if((gme_err = gme_start_track(emu, song_num)) != NULL)
 		g_warning("%s", gme_err);
 
+	if(ti->length > 0)
+		gme_set_fade(emu, ti->length);
+
 	/* play */
 	do {
 		gme_err = gme_play(emu, GME_BUFFER_SAMPLES, buf);