diff --git a/image_creator/os_type/windows.py b/image_creator/os_type/windows.py
index 5d56a0561f11a558f8a2f599b53a3574cae0f0e4..690a5695dc521eaba4f16492c10a81a49f52335d 100644
--- a/image_creator/os_type/windows.py
+++ b/image_creator/os_type/windows.py
@@ -768,18 +768,21 @@ class _VM(object):
         # Use ganeti's VNC port range for a random vnc port
         self.display = random.randint(11000, 14999) - 5900
 
-        kvm = get_kvm_binary()
+        kvm, needed_args = get_kvm_binary()
 
         if kvm is None:
             FatalError("Can't find the kvm binary")
 
-        args = [
-            kvm, '-smp', '1', '-m', '1024', '-drive',
+        args = [kvm]
+        args.extend(needed_args)
+
+        args.extend([
+            '-smp', '1', '-m', '1024', '-drive',
             'file=%s,format=raw,cache=unsafe,if=virtio' % self.disk,
             '-netdev', 'type=user,hostfwd=tcp::445-:445,id=netdev0',
             '-device', 'virtio-net-pci,mac=%s,netdev=netdev0' % random_mac(),
             '-vnc', ':%d' % self.display, '-serial', 'file:%s' % self.serial,
-            '-monitor', 'stdio']
+            '-monitor', 'stdio'])
 
         self.process = subprocess.Popen(args, stdin=subprocess.PIPE,
                                         stdout=subprocess.PIPE)
diff --git a/image_creator/util.py b/image_creator/util.py
index fcf5dd526fa9683c420b02f92439d319f6e215c3..e5fab4166797b63de8339a1cb6e009eb997ceb5b 100644
--- a/image_creator/util.py
+++ b/image_creator/util.py
@@ -65,21 +65,23 @@ def get_command(command):
 
 
 def get_kvm_binary():
-    """Returns the path to the kvm binary"""
+    """Returns the path to the kvm binary and some extra arguments if needed"""
 
     uname = get_command('uname')
     which = get_command('which')
 
-    machine = str(uname('-m'))
+    machine = str(uname('-m')).strip()
     if re.match('i[3-6]86', machine):
         machine = 'i386'
 
     binary = which('qemu-system-%s' % machine)
 
+    needed_args = "--enable-kvm",
+
     if binary is None:
-        return which('kvm')
+        return which('kvm'), tuple()
 
-    return binary
+    return binary, needed_args
 
 
 def try_fail_repeat(command, *args):