diff --git a/kvirt/providers/kvm/__init__.py b/kvirt/providers/kvm/__init__.py
index 46263fc90..156bbdcd6 100644
--- a/kvirt/providers/kvm/__init__.py
+++ b/kvirt/providers/kvm/__init__.py
@@ -1262,9 +1262,16 @@ def create(self, name, virttype=None, profile='kvirt', flavor=None, plan='kvirt'
hugepagesxml = ""
hugepages = overrides.get('hugepages', False)
hugepages_1gb = overrides.get('hugepages_1gb', False)
- if hugepages or hugepages_1gb:
- sizexml = "" if hugepages_1gb else ''
- hugepagesxml = f"{sizexml}"
+ hugepages_2mb = overrides.get('hugepages_1gb', False)
+ need_hugepages = hugepages or hugepages_1gb or hugepages_2mb
+ if need_hugepages:
+ if hugepages_1gb:
+ sizexml = ""
+ elif hugepages_2mb:
+ sizexml = ""
+ else:
+ sizexml = ''
+ hugepagesxml = f"{sizexml}"
machine = f"machine='{machine}'"
emulatorxml = f"{emulator}"
uuidxml = ""