diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index d572a1d13dea558c802a697a95aaf8b223401685..37b2bb96821d2c80b40d18f96e94997770fe8654 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -538,7 +538,7 @@ class LUInitCluster(LogicalUnit):
       raise errors.OpPrereqError("Invalid mac prefix given '%s'" %
                                  self.op.mac_prefix)
 
-    if self.op.hypervisor_type not in hypervisor.VALID_HTYPES:
+    if self.op.hypervisor_type not in constants.HYPER_TYPES:
       raise errors.OpPrereqError("Invalid hypervisor type given '%s'" %
                                  self.op.hypervisor_type)
 
diff --git a/lib/constants.py b/lib/constants.py
index 6c65983427273c244acda196ba271bcc8a35aa03..5dfba2b48e72118ba99ae6d62b9941364d6f3f22 100644
--- a/lib/constants.py
+++ b/lib/constants.py
@@ -147,3 +147,9 @@ SSH_HOST_RSA_PUB = SSH_HOST_RSA_PRIV + ".pub"
 INSTANCE_REBOOT_SOFT = "soft"
 INSTANCE_REBOOT_HARD = "hard"
 INSTANCE_REBOOT_FULL = "full"
+
+# Hypervisor constants
+HT_XEN30 = "xen-3.0"
+HT_FAKE = "fake"
+
+HYPER_TYPES = frozenset([HT_XEN30, HT_FAKE])
diff --git a/lib/hypervisor.py b/lib/hypervisor.py
index 3eb5368c517e66c195eded38ffcfbed6b8487d71..24efa016300cff93ad6092ed3bc55fc6bb598d27 100644
--- a/lib/hypervisor.py
+++ b/lib/hypervisor.py
@@ -33,10 +33,6 @@ from ganeti import ssconf
 from ganeti import constants
 from ganeti.errors import HypervisorError
 
-_HT_XEN30 = "xen-3.0"
-_HT_FAKE = "fake"
-
-VALID_HTYPES = (_HT_XEN30, _HT_FAKE)
 
 def GetHypervisor():
   """Return a Hypervisor instance.
@@ -46,9 +42,9 @@ def GetHypervisor():
 
   """
   ht_kind = ssconf.SimpleStore().GetHypervisorType()
-  if ht_kind == _HT_XEN30:
+  if ht_kind == constants.HT_XEN30:
     cls = XenHypervisor
-  elif ht_kind == _HT_FAKE:
+  elif ht_kind == constants.HT_FAKE:
     cls = FakeHypervisor
   else:
     raise HypervisorError("Unknown hypervisor type '%s'" % ht_kind)