diff --git a/libvirt-0.6.4-svirt-sound.patch b/libvirt-0.6.4-svirt-sound.patch
deleted file mode 100644
index 3ad000c..0000000
--- a/libvirt-0.6.4-svirt-sound.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 127a39777e9809053bb98a9082e27c73543ccfa2 Mon Sep 17 00:00:00 2001
-From: Daniel P. Berrange <berrange@redhat.com>
-Date: Mon, 17 Aug 2009 08:32:08 +0100
-Subject: [PATCH] Disable sound cards when running sVirt
-
-Temporary hack till PulseAudio autostart problems are sorted out when
-SELinux enforcing (bz 486112)
-
-Fedora-patch: libvirt-0.6.4-svirt-sound.patch
----
- src/qemu_conf.c |   17 ++++++++++++++++-
- 1 files changed, 16 insertions(+), 1 deletions(-)
-
-diff --git a/src/qemu_conf.c b/src/qemu_conf.c
-index f92bcef..f3b4ef0 100644
---- a/src/qemu_conf.c
-+++ b/src/qemu_conf.c
-@@ -1510,6 +1510,20 @@ int qemudBuildCommandLine(virConnectPtr conn,
-     char uuid[VIR_UUID_STRING_BUFLEN];
-     char domid[50];
-     const char *cpu = NULL;
-+    int skipSound = 0;
-+
-+    if (driver->securityDriver &&
-+        driver->securityDriver->name &&
-+        STREQ(driver->securityDriver->name, "selinux") &&
-+        getuid() == 0) {
-+        static int soundWarned = 0;
-+        skipSound = 1;
-+        if (def->nsounds &&
-+            !soundWarned) {
-+            soundWarned = 1;
-+            VIR_WARN0("Sound cards for VMs are disabled while SELinux security model is active");
-+        }
-+    }
- 
-     uname_normalize(&ut);
- 
-@@ -2181,7 +2195,8 @@ int qemudBuildCommandLine(virConnectPtr conn,
-     }
- 
-     /* Add sound hardware */
--    if (def->nsounds) {
-+    if (def->nsounds &&
-+        !skipSound) {
-         int size = 100;
-         char *modstr;
-         if (VIR_ALLOC_N(modstr, size+1) < 0)
--- 
-1.6.2.5
-
diff --git a/libvirt-disable-audio-backend.patch b/libvirt-disable-audio-backend.patch
new file mode 100644
index 0000000..329a98f
--- /dev/null
+++ b/libvirt-disable-audio-backend.patch
@@ -0,0 +1,77 @@
+From 4721ceb9b85daabe53804627473b06ced821c695 Mon Sep 17 00:00:00 2001
+From: Daniel P. Berrange <berrange@redhat.com>
+Date: Mon, 14 Sep 2009 11:23:20 +0100
+Subject: [PATCH] Allow control over QEMU audio backend
+
+When using VNC for graphics + keyboard + mouse, we shouldn't
+then use the host OS for audio. Audio should go back over
+VNC.
+
+When using SDL for graphics, we should use the host OS for
+audio since that's where the display is. We need to allow
+certain QEMU env variables to be passed through to guest
+too to allow choice of QEMU audio backend.
+
+* qemud/libvirtd.sysconf: Mention QEMU/SDL audio env vars
+* src/qemu_conf.c: Passthrough QEMU/SDL audio env for SDL display,
+  disable host audio for VNC display
+
+(cherry picked from commit b08e6d38ae7a0ed70300d7d82107f83fddb60f44)
+
+Fedora-patch: libvirt-disable-audio-backend.patch
+---
+ qemud/libvirtd.sysconf |    8 ++++++++
+ src/qemu_conf.c        |   14 ++++++++++++++
+ 2 files changed, 22 insertions(+), 0 deletions(-)
+
+diff --git a/qemud/libvirtd.sysconf b/qemud/libvirtd.sysconf
+index fe4596a..28080a0 100644
+--- a/qemud/libvirtd.sysconf
++++ b/qemud/libvirtd.sysconf
+@@ -7,3 +7,11 @@
+ 
+ # Override Kerberos service keytab for SASL/GSSAPI
+ #KRB5_KTNAME=/etc/libvirt/krb5.tab
++
++# Override the QEMU/SDL default audio driver probing when
++# starting virtual machines using SDL graphics
++#
++# NB these have no effect for VMs using VNC
++#QEMU_AUDIO_DRV=sdl
++#
++#SDL_AUDIODRIVER=pulse
+diff --git a/src/qemu_conf.c b/src/qemu_conf.c
+index f92bcef..0dd0624 100644
+--- a/src/qemu_conf.c
++++ b/src/qemu_conf.c
+@@ -2109,6 +2109,13 @@ int qemudBuildCommandLine(virConnectPtr conn,
+             ADD_ARG_LIT("-k");
+             ADD_ARG_LIT(def->graphics[0]->data.vnc.keymap);
+         }
++
++        /* QEMU implements a VNC extension for providing audio, so we
++         * set the audio backend to none, to prevent it opening the
++         * host OS audio devices since that causes security issues
++         * and is non-sensical when using VNC.
++         */
++        ADD_ENV_LIT("QEMU_AUDIO_DRV=none");
+     } else if ((def->ngraphics == 1) &&
+                def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) {
+         char *xauth = NULL;
+@@ -2131,6 +2138,13 @@ int qemudBuildCommandLine(virConnectPtr conn,
+             ADD_ENV(display);
+         if (def->graphics[0]->data.sdl.fullscreen)
+             ADD_ARG_LIT("-full-screen");
++
++        /* If using SDL for video, then we should just let it
++         * use QEMU's host audio drivers, possibly SDL too
++         * User can set these two before starting libvirtd
++         */
++        ADD_ENV_COPY("QEMU_AUDIO_DRV");
++        ADD_ENV_COPY("SDL_AUDIODRIVER");
+     }
+ 
+     if (def->nvideos) {
+-- 
+1.6.2.5
+
diff --git a/libvirt-fix-drv-supports-feature-bogus-error.patch b/libvirt-fix-drv-supports-feature-bogus-error.patch
index 3e90eb1..de0fcac 100644
--- a/libvirt-fix-drv-supports-feature-bogus-error.patch
+++ b/libvirt-fix-drv-supports-feature-bogus-error.patch
@@ -1,4 +1,4 @@
-From 2f6e857ac7d6ed5cd417e684147dd9c98775ab3d Mon Sep 17 00:00:00 2001
+From 7692e1e19487c28454b1e5f6488d5574c70883f2 Mon Sep 17 00:00:00 2001
 From: Chris Lalancette <clalance@redhat.com>
 Date: Mon, 21 Sep 2009 14:53:31 +0200
 Subject: [PATCH] Don't do virSetConnError when virDrvSupportsFeature is successful.
diff --git a/libvirt-fix-net-hotunplug-double-free.patch b/libvirt-fix-net-hotunplug-double-free.patch
index 7a302d6..5a8ebbc 100644
--- a/libvirt-fix-net-hotunplug-double-free.patch
+++ b/libvirt-fix-net-hotunplug-double-free.patch
@@ -1,4 +1,4 @@
-From d09ff3c35c29d14760d5ea03559042cc024e09ab Mon Sep 17 00:00:00 2001
+From ba585ed6cff624c6c0f1f9801382fd6846466ee0 Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc@redhat.com>
 Date: Thu, 17 Sep 2009 15:31:08 +0100
 Subject: [PATCH] Fix net/disk hot-unplug segfault
diff --git a/libvirt-fix-pci-hostdev-hotunplug-leak.patch b/libvirt-fix-pci-hostdev-hotunplug-leak.patch
index 9772d3e..f71e823 100644
--- a/libvirt-fix-pci-hostdev-hotunplug-leak.patch
+++ b/libvirt-fix-pci-hostdev-hotunplug-leak.patch
@@ -1,4 +1,4 @@
-From d04ac8624f5fabe7587982796f2e2161220b0fcc Mon Sep 17 00:00:00 2001
+From 17831d20051f8de8f1f7d661e8a23f4fe67c2153 Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc@redhat.com>
 Date: Thu, 17 Sep 2009 15:32:45 +0100
 Subject: [PATCH] Fix leak in PCI hostdev hot-unplug
diff --git a/libvirt-fix-qemu-raw-format-save.patch b/libvirt-fix-qemu-raw-format-save.patch
index 19a0469..d390f0e 100644
--- a/libvirt-fix-qemu-raw-format-save.patch
+++ b/libvirt-fix-qemu-raw-format-save.patch
@@ -1,4 +1,4 @@
-From e50c91fdcea5d81e3eb2051c05f4e51a16c3e692 Mon Sep 17 00:00:00 2001
+From f1be5a4714e194a84840343e0937fe62463a18dc Mon Sep 17 00:00:00 2001
 From: Charles Duffy <Charles_Duffy@dell.com>
 Date: Fri, 18 Sep 2009 11:32:35 -0500
 Subject: [PATCH] Prevent attempt to call cat -c during virDomainSave to raw
diff --git a/libvirt-fix-usb-device-passthrough.patch b/libvirt-fix-usb-device-passthrough.patch
index 5882f1f..a28bbd9 100644
--- a/libvirt-fix-usb-device-passthrough.patch
+++ b/libvirt-fix-usb-device-passthrough.patch
@@ -1,4 +1,4 @@
-From 16f20706f8d2f113bb6a49f56e415c16d438183e Mon Sep 17 00:00:00 2001
+From 6b12148864cf6a1d22a2cf4e0e9c48e9946331cb Mon Sep 17 00:00:00 2001
 From: Mark McLoughlin <markmc@redhat.com>
 Date: Wed, 30 Sep 2009 18:37:03 +0100
 Subject: [PATCH] Fix USB device re-labelling
@@ -37,5 +37,5 @@ index bc295b1..b4dc153 100644
  
      case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI: {
 -- 
-1.6.4.4
+1.6.2.5
 
diff --git a/libvirt.spec b/libvirt.spec
index 15244fa..5f59d77 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -151,15 +151,11 @@
 Summary: Library providing a simple API virtualization
 Name: libvirt
 Version: 0.7.1
-Release: 7%{?dist}%{?extra_release}
+Release: 8%{?dist}%{?extra_release}
 License: LGPLv2+
 Group: Development/Libraries
 Source: http://libvirt.org/sources/libvirt-%{version}.tar.gz
 
-# Temporary hack till PulseAudio autostart problems are sorted
-# out when SELinux enforcing (bz 486112)
-Patch00: libvirt-0.6.4-svirt-sound.patch
-
 # A couple of hot-unplug memory handling fixes (#523953)
 Patch01: libvirt-fix-net-hotunplug-double-free.patch
 Patch02: libvirt-fix-pci-hostdev-hotunplug-leak.patch
@@ -173,6 +169,9 @@ Patch04: libvirt-fix-qemu-raw-format-save.patch
 # Fix USB device passthrough (#422683)
 Patch05: libvirt-fix-usb-device-passthrough.patch
 
+# Disable sound backend (#524499, #508317)
+Patch06: libvirt-disable-audio-backend.patch
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 URL: http://libvirt.org/
 BuildRequires: python-devel
@@ -385,12 +384,12 @@ of recent versions of Linux (and other OSes).
 %prep
 %setup -q
 
-%patch00 -p1
 %patch01 -p1
 %patch02 -p1
 %patch03 -p1
 %patch04 -p1
 %patch05 -p1
+%patch06 -p1
 
 %build
 %if ! %{with_xen}
@@ -781,6 +780,9 @@ fi
 %endif
 
 %changelog
+* Thu Oct  1 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-8
+- Disable sound backend, even when selinux is disabled (#524499)
+
 * Wed Sep 30 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.1-7
 - Fix USB device passthrough (#522683)