diff --git a/NEWS b/NEWS
index c28d5aabe0799d3838eed7179472fa2865665fde..9ee4c6daab972bf605fdb95dc0c67b0a74bbfadd 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,16 @@ News
 ====
 
 
+Version 2.8.4
+-------------
+
+*(unreleased)*
+
+- Change the list separator for the usb_devices parameter from comma to space.
+  Commas could not work because they are already the hypervisor option
+  separator (Issue 649)
+
+
 Version 2.8.3
 -------------
 
diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py
index 3c1bc8c139708a0255dabcfcfab01d4882c89478..e6f66bc5de0fdc1d102d133379666838264cc968 100644
--- a/lib/hypervisor/hv_kvm.py
+++ b/lib/hypervisor/hv_kvm.py
@@ -1384,7 +1384,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
 
     # Various types of usb devices, comma separated
     if hvp[constants.HV_USB_DEVICES]:
-      for dev in hvp[constants.HV_USB_DEVICES].split(","):
+      for dev in hvp[constants.HV_USB_DEVICES].split(" "):
         kvm_cmd.extend(["-usbdevice", dev])
 
     if hvp[constants.HV_KVM_EXTRA]:
diff --git a/man/gnt-instance.rst b/man/gnt-instance.rst
index b652d5ebee46d2848c7d86f8e1984967016b03c9..7bb8fabb42a5ae8bbb6d7f50ea0ed23afb7faee7 100644
--- a/man/gnt-instance.rst
+++ b/man/gnt-instance.rst
@@ -723,10 +723,12 @@ soundhw
 usb\_devices
     Valid for the KVM hypervisor.
 
-    Comma separated list of usb devices. These can be emulated devices
+    Space separated list of usb devices. These can be emulated devices
     or passthrough ones, and each one gets passed to kvm with its own
     ``-usbdevice`` option. See the **qemu**\(1) manpage for the syntax
-    of the possible components.
+    of the possible components. Note that values set with this
+    parameter are split on a space character and currently don't support
+    quoting.
 
 vga
     Valid for the KVM hypervisor.