diff --git a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
index 931529f..edfde91 100644
--- a/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
+++ b/src/Extensions/Banshee.PlayQueue/Banshee.PlayQueue/PlayQueueSource.cs
@@ -458,6 +458,12 @@ namespace Banshee.PlayQueue
                         ServiceManager.PlaybackController.StopWhenFinished = true;
                     }
                 }
+                if (ServiceManager.PlaybackController.StopWhenFinished) {
+                    if (current_track != null && ServiceManager.PlayerEngine.CurrentTrack == current_track) {
+                        int index = TrackModel.IndexOf (current_track) + 1;
+                        SetCurrentTrack (index < Count ? TrackModel[index] as DatabaseTrackInfo : null);
+                    }
+                }
             } else if (args.Event == PlayerEvent.StartOfStream) {
                 if (TrackModel.IndexOf (ServiceManager.PlayerEngine.CurrentTrack) != -1) {
                     SetCurrentTrack (ServiceManager.PlayerEngine.CurrentTrack as DatabaseTrackInfo);
