diff --git a/app/models/concerns/foreman_vmware_advanced/vmware_extensions.rb b/app/models/concerns/foreman_vmware_advanced/vmware_extensions.rb
index 6c20c37332f4196e7723769c599a0a1ff71fa07c..2bef1695b5d55f62e70d1963fb7b1912c7e077d5 100644
--- a/app/models/concerns/foreman_vmware_advanced/vmware_extensions.rb
+++ b/app/models/concerns/foreman_vmware_advanced/vmware_extensions.rb
@@ -9,15 +9,14 @@ module ForemanVmwareAdvanced
     def parse_args_with_vmware_advanced(inp_args)
       args = parse_args_without_vmware_advanced(inp_args)
 
-      args[:extra_config] = {
-        'bios.bootOrder'  => 'ethernet0',
-        'svga.autodetect' => 'TRUE'
-      }
+      args[:extra_config] = (args[:extra_config] || {}).merge(
+        'bios.bootOrder'.to_sym  => 'ethernet0',
+        'svga.autodetect'.to_sym => 'TRUE'
+      )
 
-      if args[:compute_attributes] &&
-         args[:compute_attributes][:guest_id] &&
-         args[:compute_attributes][:guest_id].start_with?('win')
-        args[:extra_config]['disk.enableUUID'] = 'TRUE'
+      if args[:guest_id] &&
+         args[:guest_id].start_with?('win')
+        args[:extra_config]['disk.EnableUUID'.to_sym] = 'TRUE'
       end
 
       args