Index: network-manager-applet-0.8.9997+git.20110616t193616.b2e6a33/src/applet.c
===================================================================
--- network-manager-applet-0.8.9997+git.20110616t193616.b2e6a33.orig/src/applet.c	2011-06-17 14:06:04.807740985 -0400
+++ network-manager-applet-0.8.9997+git.20110616t193616.b2e6a33/src/applet.c	2011-06-17 14:06:29.547741028 -0400
@@ -787,17 +787,6 @@
 	return item;
 }
 
-static void
-applet_clear_notify (NMApplet *applet)
-{
-	if (applet->notification == NULL)
-		return;
-
-	notify_notification_close (applet->notification, NULL);
-	g_object_unref (applet->notification);
-	applet->notification = NULL;
-}
-
 static gboolean
 applet_notify_server_has_actions (void)
 {
@@ -839,19 +828,28 @@
 	if (!gtk_status_icon_is_embedded (applet->status_icon))
 		return;
 
-	applet_clear_notify (applet);
-
 	escaped = utils_escape_notify_message (message);
-	notify = notify_notification_new (summary,
-	                                  escaped,
-	                                  icon ? icon : GTK_STOCK_NETWORK
+
+	if (applet->notification == NULL) {
+		notify = notify_notification_new (summary,
+		                                  escaped,
+		                                  icon ? icon : GTK_STOCK_NETWORK
 #if HAVE_LIBNOTIFY_07
-	                                  );
+		                                  );
 #else
-	                                  , NULL);
+		                                 , NULL);
 #endif
+
+		applet->notification = notify;
+	} else {
+		notify = applet->notification;
+		notify_notification_update (notify,
+		                            summary,
+		                            escaped,
+		                            icon ? icon : GTK_STOCK_NETWORK);
+	}
+
 	g_free (escaped);
-	applet->notification = notify;
 
 #if HAVE_LIBNOTIFY_07
 	notify_notification_set_hint (notify, "transient", g_variant_new_boolean (TRUE));
@@ -3226,7 +3224,6 @@
 	/* Have clicking on the applet act also as acknowledgement
 	 * of the notification. 
 	 */
-	applet_clear_notify (applet);
 
 	/* Kill any old menu */
 	if (applet->menu)
@@ -3256,7 +3253,6 @@
 	/* Have clicking on the applet act also as acknowledgement
 	 * of the notification. 
 	 */
-	applet_clear_notify (applet);
 
 	nma_context_menu_update (applet);
 	gtk_menu_popup (GTK_MENU (applet->context_menu), NULL, NULL,
