diff --git a/libvirt-0.7.0-numa-ignore-fail.patch b/libvirt-0.7.0-numa-ignore-fail.patch
new file mode 100644
index 0000000..5ebe291
--- /dev/null
+++ b/libvirt-0.7.0-numa-ignore-fail.patch
@@ -0,0 +1,85 @@
+commit 19bac57b26c2d46ac8a7601158f210f34acdceac
+Author: Daniel P. Berrange <berrange@redhat.com>
+Date:   Thu Aug 13 11:56:31 2009 +0100
+
+    Make LXC / UML drivers robust against NUMA topology brokenness
+    
+    Some kernel versions expose broken NUMA topology for some machines.
+    This causes the LXC/UML drivers to fail to start. QEMU driver was
+    already fixed for this problem
+    
+    * src/lxc_conf.c: Log and ignore failure to populate NUMA info
+    * src/uml_conf.c: Log and ignore failure to populate NUMA info
+    * src/capabilities.c: Reset nnumaCell to 0 after freeing
+
+diff --git a/src/capabilities.c b/src/capabilities.c
+index c6766b6..193a9fe 100644
+--- a/src/capabilities.c
++++ b/src/capabilities.c
+@@ -139,6 +139,7 @@ virCapabilitiesFreeNUMAInfo(virCapsPtr caps)
+     for (i = 0 ; i < caps->host.nnumaCell ; i++)
+         virCapabilitiesFreeHostNUMACell(caps->host.numaCell[i]);
+     VIR_FREE(caps->host.numaCell);
++    caps->host.nnumaCell = 0;
+ }
+ 
+ /**
+diff --git a/src/lxc_conf.c b/src/lxc_conf.c
+index d06a024..fef60ba 100644
+--- a/src/lxc_conf.c
++++ b/src/lxc_conf.c
+@@ -30,6 +30,8 @@
+ #include "lxc_conf.h"
+ #include "nodeinfo.h"
+ #include "virterror_internal.h"
++#include "logging.h"
++
+ 
+ #define VIR_FROM_THIS VIR_FROM_LXC
+ 
+@@ -46,8 +48,14 @@ virCapsPtr lxcCapsInit(void)
+                                    0, 0)) == NULL)
+         goto no_memory;
+ 
+-    if (nodeCapsInitNUMA(caps) < 0)
+-        goto no_memory;
++    /* Some machines have problematic NUMA toplogy causing
++     * unexpected failures. We don't want to break the QEMU
++     * driver in this scenario, so log errors & carry on
++     */
++    if (nodeCapsInitNUMA(caps) < 0) {
++        virCapabilitiesFreeNUMAInfo(caps);
++        VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities");
++    }
+ 
+     /* XXX shouldn't 'borrow' KVM's prefix */
+     virCapabilitiesSetMacPrefix(caps, (unsigned char []){ 0x52, 0x54, 0x00 });
+diff --git a/src/uml_conf.c b/src/uml_conf.c
+index 48e05a8..4f756d4 100644
+--- a/src/uml_conf.c
++++ b/src/uml_conf.c
+@@ -45,6 +45,7 @@
+ #include "nodeinfo.h"
+ #include "verify.h"
+ #include "bridge.h"
++#include "logging.h"
+ 
+ #define VIR_FROM_THIS VIR_FROM_UML
+ 
+@@ -63,8 +64,14 @@ virCapsPtr umlCapsInit(void) {
+                                    0, 0)) == NULL)
+         goto no_memory;
+ 
+-    if (nodeCapsInitNUMA(caps) < 0)
+-        goto no_memory;
++    /* Some machines have problematic NUMA toplogy causing
++     * unexpected failures. We don't want to break the QEMU
++     * driver in this scenario, so log errors & carry on
++     */
++    if (nodeCapsInitNUMA(caps) < 0) {
++        virCapabilitiesFreeNUMAInfo(caps);
++        VIR_WARN0("Failed to query host NUMA topology, disabling NUMA capabilities");
++    }
+ 
+     if ((guest = virCapabilitiesAddGuest(caps,
+                                          "uml",
diff --git a/libvirt.spec b/libvirt.spec
index 4f43f74..3e0f0f1 100644
--- a/libvirt.spec
+++ b/libvirt.spec
@@ -93,6 +93,9 @@ Patch02: libvirt-0.7.0-handle-kernels-with-no-ipv6-support.patch
 # NB remove autoreconf hack & extra BRs when this goes away
 Patch03: libvirt-0.7.0-policy-kit-rewrite.patch
 
+# Log and ignore NUMA topology problems (rhbz #506590)
+Patch04: libvirt-0.7.0-numa-ignore-fail.patch
+
 # Temporary hack till PulseAudio autostart problems are sorted
 # out when SELinux enforcing (bz 486112)
 Patch200: libvirt-0.6.4-svirt-sound.patch
@@ -277,6 +280,7 @@ of recent versions of Linux (and other OSes).
 %patch01 -p1
 %patch02 -p1
 %patch03 -p1
+%patch04 -p1
 
 %patch200 -p0
 
@@ -645,8 +649,9 @@ fi
 %endif
 
 %changelog
-* Thu Aug 13 2009  <berrange@dhcp-0-233.camlab.fab.redhat.com> - 0.7.0-4
+* Thu Aug 13 2009 Daniel P. Berrange <berrange@redhat.com> - 0.7.0-4
 - Rewrite policykit support (rhbz #499970)
+- Log and ignore NUMA topology problems (rhbz #506590)
 
 * Mon Aug 10 2009 Mark McLoughlin <markmc@redhat.com> - 0.7.0-3
 - Don't fail to start network if ipv6 modules is not loaded (#516497)