diff --git a/src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs b/src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs
index d93cc14..e0d648d 100644
--- a/src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs
+++ b/src/Extensions/Banshee.NotificationArea/Banshee.NotificationArea/NotificationAreaService.cs
@@ -448,24 +448,29 @@ namespace Banshee.NotificationArea
             
             if (current_nf != null) {
                 try {
-                    current_nf.Close ();
+                    current_nf.Body = message;
+                    current_nf.Icon = image;
+                    current_nf.Timeout = 4500;
+                    current_nf.Urgency = Urgency.Low;
+                    current_nf.Show ();
                 } catch {}
                 current_nf = null;
-            }
+            } else {
 
-            try {
-                Notification nf = new Notification (Catalog.GetString ("Now Playing"), 
-                    message, image, notif_area.Widget);
-                nf.Urgency = Urgency.Low;
-                nf.Timeout = 4500;
-                if (!current_track.IsLive && ActionsSupported && interface_action_service.PlaybackActions["NextAction"].Sensitive) {
-                    nf.AddAction ("skip-song", Catalog.GetString("Skip this item"), OnSongSkipped);
+                try {
+                    Notification nf = new Notification (Catalog.GetString ("Now Playing"), 
+                        message, image, notif_area.Widget);
+                    nf.Urgency = Urgency.Low;
+                    nf.Timeout = 4500;
+                    if (!current_track.IsLive && ActionsSupported && interface_action_service.PlaybackActions["NextAction"].Sensitive) {
+                        nf.AddAction ("skip-song", Catalog.GetString("Skip this item"), OnSongSkipped);
+                    }
+                    nf.Show ();
+
+                    current_nf = nf;
+                } catch (Exception e) {
+                    Hyena.Log.Warning (Catalog.GetString ("Cannot show notification"), e.Message, false);
                 }
-                nf.Show ();
-                
-                current_nf = nf;
-            } catch (Exception e) {
-                Hyena.Log.Warning (Catalog.GetString ("Cannot show notification"), e.Message, false);
             }
         }
         
