diff --git a/0049-migration-Clear-fd-also-in-error-cases.patch b/0049-migration-Clear-fd-also-in-error-cases.patch
new file mode 100644
index 0000000..22a88da
--- /dev/null
+++ b/0049-migration-Clear-fd-also-in-error-cases.patch
@@ -0,0 +1,100 @@
+From a0591dc91ad795ffb47476b37730e46977a6be36 Mon Sep 17 00:00:00 2001
+From: Juan Quintela <quintela@redhat.com>
+Date: Tue, 9 Mar 2010 23:58:50 +0100
+Subject: [PATCH] migration: Clear fd also in error cases
+
+Not clearing the fd and closing the file makes qemu spin using 100%CPU
+after incoming migration error.
+
+See for instance bug:
+https://bugzilla.redhat.com/show_bug.cgi?id=518032
+
+Signed-off-by: Juan Quintela <quintela@trasno.org>
+---
+ migration-exec.c |    3 +--
+ migration-fd.c   |    3 +--
+ migration-tcp.c  |    5 ++---
+ migration-unix.c |    5 ++---
+ 4 files changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/migration-exec.c b/migration-exec.c
+index 87f645b..e57a55d 100644
+--- a/migration-exec.c
++++ b/migration-exec.c
+@@ -120,12 +120,11 @@ static void exec_accept_incoming_migration(void *opaque)
+     }
+     qemu_announce_self();
+     dprintf("successfully loaded vm state\n");
+-    /* we've successfully migrated, close the fd */
+-    qemu_set_fd_handler2(qemu_stdio_fd(f), NULL, NULL, NULL, NULL);
+     if (autostart)
+         vm_start();
+
+ err:
++    qemu_set_fd_handler2(qemu_stdio_fd(f), NULL, NULL, NULL, NULL);
+     qemu_fclose(f);
+ }
+
+diff --git a/migration-fd.c b/migration-fd.c
+index ef7edbc..7325d13 100644
+--- a/migration-fd.c
++++ b/migration-fd.c
+@@ -113,12 +113,11 @@ static void fd_accept_incoming_migration(void *opaque)
+     }
+     qemu_announce_self();
+     dprintf("successfully loaded vm state\n");
+-    /* we've successfully migrated, close the fd */
+-    qemu_set_fd_handler2(qemu_stdio_fd(f), NULL, NULL, NULL, NULL);
+     if (autostart)
+         vm_start();
+
+ err:
++    qemu_set_fd_handler2(qemu_stdio_fd(f), NULL, NULL, NULL, NULL);
+     qemu_fclose(f);
+ }
+
+diff --git a/migration-tcp.c b/migration-tcp.c
+index 2cfa8cb..c328e73 100644
+--- a/migration-tcp.c
++++ b/migration-tcp.c
+@@ -170,15 +170,14 @@ static void tcp_accept_incoming_migration(void *opaque)
+     qemu_announce_self();
+     dprintf("successfully loaded vm state\n");
+
+-    /* we've successfully migrated, close the server socket */
+-    qemu_set_fd_handler2(s, NULL, NULL, NULL, NULL);
+-    close(s);
+     if (autostart)
+         vm_start();
+
+ out_fopen:
+     qemu_fclose(f);
+ out:
++    qemu_set_fd_handler2(s, NULL, NULL, NULL, NULL);
++    close(s);
+     close(c);
+ }
+
+diff --git a/migration-unix.c b/migration-unix.c
+index a141dbb..9685c4b 100644
+--- a/migration-unix.c
++++ b/migration-unix.c
+@@ -176,13 +176,12 @@ static void unix_accept_incoming_migration(void *opaque)
+     qemu_announce_self();
+     dprintf("successfully loaded vm state\n");
+
+-    /* we've successfully migrated, close the server socket */
+-    qemu_set_fd_handler2(s, NULL, NULL, NULL, NULL);
+-    close(s);
+
+ out_fopen:
+     qemu_fclose(f);
+ out:
++    qemu_set_fd_handler2(s, NULL, NULL, NULL, NULL);
++    close(s);
+     close(c);
+ }
+
+-- 
+1.6.6.1
+
diff --git a/qemu.spec b/qemu.spec
index 301cccb..5b24dc2 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,7 +1,7 @@
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
 Version: 0.12.3
-Release: 2%{?dist}
+Release: 3%{?dist}
 # Epoch because we pushed a qemu-1.0 package
 Epoch: 2
 License: GPLv2+ and LGPLv2+ and BSD
@@ -82,6 +82,7 @@ Patch45: 0045-pc-Add-a-Fedora-13-machine-type-that-contains-backpo.patch
 Patch46: 0046-pc-Add-backward-compatibility-options-for-virtio-ser.patch
 Patch47: 0047-virtio-serial-don-t-set-MULTIPORT-for-1-port-dev.patch
 Patch48: 0048-virtio-serial-pci-Allow-MSI-to-be-disabled.patch
+Patch49: 0049-migration-Clear-fd-also-in-error-cases.patch
 
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -322,6 +323,7 @@ such as kvmtrace and kvm_stat.
 %patch46 -p1
 %patch47 -p1
 %patch48 -p1
+%patch49 -p1
 
 %build
 # By default we build everything, but allow x86 to build a minimal version
@@ -624,6 +626,9 @@ fi
 %{_mandir}/man1/qemu-img.1*
 
 %changelog
+* Wed Mar 10 2010 Justin M. Forbes <jforbes@redhat.com> - 2:0.12.3-3
+- Migration clear the fd in error cases (#518032)
+
 * Tue Mar 09 2010 Justin M. Forbes <jforbes@redhat.com> - 2:0.12.3-2
 - Allow builds --with x86only
 - Add libaio-devel buildreq for aio support