diff --git a/calendar/gui/alarm-notify/alarm-queue.c b/calendar/gui/alarm-notify/alarm-queue.c
index 859b775..f24e3d4 100644
--- a/calendar/gui/alarm-notify/alarm-queue.c
+++ b/calendar/gui/alarm-notify/alarm-queue.c
@@ -34,7 +34,7 @@
 #include <bonobo/bonobo-main.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
-#include <libgnome/gnome-sound.h>
+#include <canberra-gtk.h>
 
 #include <libecal/e-cal-time-util.h>
 #include <libecal/e-cal-component.h>
@@ -1659,7 +1659,9 @@ audio_notification (time_t trigger, CompQueuedAlarms *cqa,
 
 		if (url && *url && g_file_test (url, G_FILE_TEST_EXISTS)) {
 			flag = 1;
-			gnome_sound_play (url); /* this sucks */
+			ca_context_play(ca_gtk_context_get(), 0,
+				CA_PROP_MEDIA_FILENAME, url,
+				NULL); 
 		}
 	}
 
diff --git a/calendar/gui/alarm-notify/notify-main.c b/calendar/gui/alarm-notify/notify-main.c
index 3504b0d..bd6c25b 100644
--- a/calendar/gui/alarm-notify/notify-main.c
+++ b/calendar/gui/alarm-notify/notify-main.c
@@ -31,7 +31,6 @@
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
 #include <libgnome/gnome-init.h>
-#include <libgnome/gnome-sound.h>
 #include <libgnomeui/gnome-client.h>
 #include <libgnomeui/gnome-ui-init.h>
 #include <glade/glade.h>
@@ -142,8 +141,6 @@ main (int argc, char **argv)
 
 	glade_init ();
 
-	gnome_sound_init ("localhost");
-
 	e_icon_factory_init ();
 
 	init_alarm_service (NULL);
@@ -173,7 +170,6 @@ main (int argc, char **argv)
 	alarm_done ();
 
 	e_passwords_shutdown ();
-	gnome_sound_shutdown ();
 
 	return 0;
 }

diff --git a/mail/mail-folder-cache.c b/mail/mail-folder-cache.c
index a1589ce..5f91115 100644
--- a/mail/mail-folder-cache.c
+++ b/mail/mail-folder-cache.c
@@ -37,7 +37,6 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 
-#include <libgnome/gnome-sound.h>
 #include <glib/gi18n.h>
 #include <bonobo/bonobo-exception.h>
 #include <camel/camel-store.h>
diff --git a/mail/mail-session.c b/mail/mail-session.c
index 03277b4..93ceace 100644
--- a/mail/mail-session.c
+++ b/mail/mail-session.c
@@ -33,8 +33,6 @@
 
 #include <gconf/gconf-client.h>
 
-#include <libgnome/gnome-sound.h>
-
 #include <libedataserverui/e-passwords.h>
 #include <libedataserver/e-flag.h>
 
@@ -42,6 +40,8 @@
 #include <camel/camel-filter-driver.h>
 #include <camel/camel-i18n.h>
 
+#include <canberra-gtk.h>
+
 #include "e-util/e-error.h"
 #include "e-util/e-util-private.h"
 #include "e-account-combo-box.h"
@@ -57,6 +57,7 @@
 #include "mail-session.h"
 #include "mail-tools.h"
 
+
 #define d(x)
 
 CamelSession *session;
@@ -461,7 +462,9 @@ static void
 main_play_sound (CamelFilterDriver *driver, char *filename, gpointer user_data)
 {
 	if (filename && *filename)
-		gnome_sound_play (filename);
+		ca_context_play(ca_gtk_context_get(), 0,
+				CA_PROP_MEDIA_FILENAME, filename,
+				NULL);
 	else
 		gdk_beep ();
 
diff --git a/shell/main.c b/shell/main.c
index 2abd30e..644d798 100644
--- a/shell/main.c
+++ b/shell/main.c
@@ -51,7 +51,6 @@
 #include <gconf/gconf-client.h>
 
 #include <glib/gi18n.h>
-#include <libgnome/gnome-sound.h>
 #include <libgnomeui/gnome-ui-init.h>
 #include <libgnomeui/gnome-client.h>
 
@@ -669,7 +668,6 @@ main (int argc, char **argv)
 	if (setup_only)
 		exit (0);
 
-	gnome_sound_init ("localhost");
 	gtk_accel_map_load (e_get_accels_filename ());
 
 	if (!disable_eplugin) {
@@ -707,7 +705,6 @@ main (int argc, char **argv)
 
 	e_icon_factory_shutdown ();
 	g_object_unref (program);
-	gnome_sound_shutdown ();
 	e_cursors_shutdown ();
 #ifdef G_OS_WIN32
 	link_shutdown ();
