diff --git a/configure b/configure
index 3f2cf6a..64f85b6 100755
--- a/configure
+++ b/configure
@@ -3148,7 +3148,7 @@ if test "$static" = "no" -a "$user_pie" = "yes" ; then
   echo "QEMU_CFLAGS+=-fpie" > libdis-user/config.mak
 fi
 
-kvm_incompatible() {
+virt_incompatible() {
     if test "$kvm" = "yes" -a \
       \( "$1" = "$cpu" -o \
       \( "$1" = "ppcemb" -a "$cpu" = "ppc" \) -o \
@@ -3158,9 +3158,14 @@ kvm_incompatible() {
       \( "$1" = "x86_64" -a "$cpu" = "i386"   \) -o \
       \( "$1" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
 	return 1
-    else
-	return 0
     fi
+    if test "$xen" = "yes" -a \ 
+      \( "$1" = "$cpu" -o \
+      \( "$1" = "x86_64" -a "$cpu" = "i386"   \) -o \
+      \( "$1" = "i386"   -a "$cpu" = "x86_64" \) \) ; then
+	return 1
+    fi
+    return 0
 }
 
 target_list2=
@@ -3219,7 +3224,7 @@ if test "$tcg" = "no"; then
     if test "$target_softmmu" = "no"; then
 	continue;
     fi
-    if kvm_incompatible "$target_arch2"; then
+    if virt_incompatible "$target_arch2"; then
 	continue;
     fi
 fi
