diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 0551bfbde2b5b1e9e5adf12b459ab2da0b53215e..4d91dd80fd85c2880724b0e7eb9890c34fc9359b 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -6265,6 +6265,16 @@ class LUCreateInstance(LogicalUnit):
                                    " is missing the disk_template information",
                                    errors.ECODE_INVAL)
 
+    if (self.op.hypervisor is None and
+        einfo.has_option(constants.INISECT_INS, "hypervisor")):
+      self.op.hypervisor = einfo.get(constants.INISECT_INS, "hypervisor")
+    if einfo.has_section(constants.INISECT_HYP):
+      # use the export parameters but do not override the ones
+      # specified by the user
+      for name, value in einfo.items(constants.INISECT_HYP):
+        if name not in self.op.hvparams:
+          self.op.hvparams[name] = value
+
   def CheckPrereq(self):
     """Check prerequisites.