diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs b/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs
index 41e4759..6b78dbd 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui.Widgets/TrackInfoDisplay.cs
@@ -376,10 +376,16 @@ namespace Banshee.Gui.Widgets
             if (image == null) {
                 LoadMissingImage ((track.MediaAttributes & TrackMediaAttributes.VideoStream) != 0);
             } else {
+                if (incoming_image != null && current_image != incoming_image && !IsMissingImage (incoming_image)) {
+                    ((IDisposable)incoming_image).Dispose ();
+                }
                 incoming_image = image;
             }
 
             if (track == current_track) {
+                if (current_image != null && current_image != incoming_image && !IsMissingImage (current_image)) {
+                    ((IDisposable)current_image).Dispose ();
+                }
                 current_image = incoming_image;
             }
         }
