diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py
index 3b2d81ed300fc4f4e954dc15aee771a9b07753d3..a388ec25424ce43306e87aee1fbfe9db4c49790f 100644
--- a/lib/hypervisor/hv_kvm.py
+++ b/lib/hypervisor/hv_kvm.py
@@ -77,9 +77,6 @@ _SPICE_ADDITIONAL_PARAMS = frozenset([
   constants.HV_KVM_SPICE_ZLIB_GLZ_IMG_COMPR,
   constants.HV_KVM_SPICE_STREAMING_VIDEO_DETECTION,
   constants.HV_KVM_SPICE_USE_TLS,
-  constants.HV_KVM_SPICE_AUDIO_COMPR,
-  constants.HV_KVM_SPICE_TLS_CIPHERS,
-  constants.HV_KVM_SPICE_USE_VDAGENT,
   ])
 
 
diff --git a/test/ganeti.hypervisor.hv_kvm_unittest.py b/test/ganeti.hypervisor.hv_kvm_unittest.py
index f401d3351d21b78ad99555abb1f9150f6af8181f..35844849627e5c207eff136d5eb6512ba8739b1f 100755
--- a/test/ganeti.hypervisor.hv_kvm_unittest.py
+++ b/test/ganeti.hypervisor.hv_kvm_unittest.py
@@ -260,13 +260,29 @@ class TestVersionChecking(testutils.GanetiTestCase):
 
 class TestSpiceParameterList(unittest.TestCase):
   def test(self):
+    defaults = constants.HVC_DEFAULTS[constants.HT_KVM]
+
     params = \
       compat.UniqueFrozenset(getattr(constants, name)
                              for name in dir(constants)
                              if name.startswith("HV_KVM_SPICE_"))
 
+    # Parameters whose default value evaluates to True and don't need to be set
+    defaults_true = frozenset(filter(defaults.__getitem__, params))
+
+    self.assertEqual(defaults_true, frozenset([
+      constants.HV_KVM_SPICE_AUDIO_COMPR,
+      constants.HV_KVM_SPICE_USE_VDAGENT,
+      constants.HV_KVM_SPICE_TLS_CIPHERS,
+      ]))
+
+    # HV_KVM_SPICE_BIND decides whether the other parameters must be set if
+    # their default evaluates to False
+    assert constants.HV_KVM_SPICE_BIND in params
+    assert constants.HV_KVM_SPICE_BIND not in defaults_true
+
     # Exclude some parameters
-    params -= frozenset([
+    params -= defaults_true | frozenset([
       constants.HV_KVM_SPICE_BIND,
       ])