diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 9cbe8ab05475c0d83f38f46c3029754d96fa7f12..1712c88fcfdd8f814aa5a30fe30414777cff7ceb 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -2853,6 +2853,11 @@ class LUCreateInstance(LogicalUnit):
       raise errors.OpPrereqError("Invalid instance creation mode '%s'" %
                                  self.op.mode)
 
+    if (not self.cfg.GetVGName() and
+        self.op.disk_template not in constants.DTS_NOT_LVM):
+      raise errors.OpPrereqError("Cluster does not support lvm-based"
+                                 " instances")
+
     if self.op.mode == constants.INSTANCE_IMPORT:
       src_node = getattr(self.op, "src_node", None)
       src_path = getattr(self.op, "src_path", None)