diff -Naur gnome-applets-2.16.2.orig/mixer/applet.c gnome-applets-2.16.2/mixer/applet.c
--- gnome-applets-2.16.2.orig/mixer/applet.c	2006-11-17 17:27:03.000000000 +0100
+++ gnome-applets-2.16.2/mixer/applet.c	2007-06-08 13:35:36.000000000 +0200
@@ -1190,6 +1190,10 @@
   }
   key += strlen (keyroot);
   g_free (keyroot);
+  
+  /* TEFNET - let's reload list in case of a new sound device */
+  g_list_free(applet->elements);
+  applet->elements = create_mixer_collection ();
 
   if ((value = gconf_entry_get_value (entry)) != NULL &&
       (value->type == GCONF_VALUE_STRING) &&
@@ -1333,6 +1337,10 @@
     } else {
       if (applet->prefs)
         return;
+  
+      /* TEFNET - let's reload list in case of a new sound device */
+      g_list_free(applet->elements);
+      applet->elements = create_mixer_collection ();
 
       applet->prefs = gnome_volume_applet_preferences_new (PANEL_APPLET (applet),
 							   applet->elements,
diff -Naur gnome-applets-2.16.2.orig/mixer/load.c gnome-applets-2.16.2/mixer/load.c
--- gnome-applets-2.16.2.orig/mixer/load.c	2006-04-07 22:35:53.000000000 +0200
+++ gnome-applets-2.16.2/mixer/load.c	2007-06-08 13:37:17.000000000 +0200
@@ -117,7 +117,8 @@
    return TRUE;
 }
 
-static GList *
+/* TEFNET - we use it in applet.c, so we remove the static keyword */
+GList *
 create_mixer_collection (void)
 {
    FilterHelper helper;
