diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index 23790be2f95d5f6f3cb40e455287e314807a05af..17bf5311f4e6ba2907d99fe255c9ee39293f5a5c 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -207,15 +207,18 @@ def _CheckOutputFields(static, dynamic, selected):
                                             difference(all_fields)))
 
 
-def _BuildInstanceHookEnv(name, primary_node, secondary_nodes, os, status,
+def _BuildInstanceHookEnv(name, primary_node, secondary_nodes, os_type, status,
                           memory, vcpus, nics):
-  """
+  """Builds instance related env variables for hooks from single variables.
+
+  Args:
+    secondary_nodes: List of secondary nodes as strings
   """
   env = {
     "INSTANCE_NAME": name,
     "INSTANCE_PRIMARY": primary_node,
     "INSTANCE_SECONDARIES": " ".join(secondary_nodes),
-    "INSTANCE_OS": os,
+    "INSTANCE_OS_TYPE": os_type,
     "INSTANCE_STATUS": status,
     "INSTANCE_MEMORY": memory,
     "INSTANCE_VCPUS": vcpus,
@@ -237,11 +240,17 @@ def _BuildInstanceHookEnv(name, primary_node, secondary_nodes, os, status,
 
 
 def _BuildInstanceHookEnvByObject(instance, override=None):
+  """Builds instance related env variables for hooks from an object.
+
+  Args:
+    instance: objects.Instance object of instance
+    override: dict of values to override
+  """
   args = {
     'name': instance.name,
     'primary_node': instance.primary_node,
     'secondary_nodes': instance.secondary_nodes,
-    'os': instance.os,
+    'os_type': instance.os,
     'status': instance.os,
     'memory': instance.memory,
     'vcpus': instance.vcpus,
@@ -2456,7 +2465,7 @@ class LUCreateInstance(LogicalUnit):
       primary_node=self.op.pnode,
       secondary_nodes=self.secondaries,
       status=self.instance_status,
-      os=self.op.os_type,
+      os_type=self.op.os_type,
       memory=self.op.mem_size,
       vcpus=self.op.vcpus,
       nics=[(self.inst_ip, self.op.bridge)],
@@ -3292,6 +3301,7 @@ class LUSetInstanceParms(LogicalUnit):
           raise errors.OpPrereqError, ("Invalid IP address '%s'." % self.ip)
     else:
       self.do_ip = False
+    self.do_bridge = (self.bridge is not None)
 
     instance = self.cfg.GetInstanceInfo(
       self.cfg.ExpandInstanceName(self.op.instance_name))