diff --git a/image_creator/os_type/windows/__init__.py b/image_creator/os_type/windows/__init__.py
index 2267aac8d701ea014b890f543d346df64a33c4c9..665eae3dd099859ed5a8bf6f7960fa481416ce6f 100644
--- a/image_creator/os_type/windows/__init__.py
+++ b/image_creator/os_type/windows/__init__.py
@@ -86,13 +86,13 @@ KMS_CLIENT_SETUP_KEYS = {
     "Windows Server 2008 for Itanium-Based Systems":
     "4DWFP-JF3DJ-B7DTH-78FJB-PDRHK"}
 
-VIRTIO = [
+VIRTIO = (
     "viostor",  # "VirtIO SCSI controller"
     "vioscsi",  # "VirtIO SCSI pass-through controller"
     "vioser",   # "VirtIO Serial Driver"
     "netkvm",   # "VirtIO Ethernet Adapter"
     "balloon",  # "VirtIO Balloon Driver
-    "viorng"]   # "VirtIO RNG Driver"
+    "viorng")   # "VirtIO RNG Driver"
 
 
 def virtio_dir_check(dirname):
@@ -102,18 +102,19 @@ def virtio_dir_check(dirname):
     if not dirname:
         return ""  # value not set
 
-    critical = ('viostor', 'netkvm')
-    extension = ('cat', 'inf', 'sys')
-    missing = []
+    ext = ('cat', 'inf', 'sys')
 
-    files = set(os.listdir(dirname))
-    for nam in ["%s.%s" % (b, e) for b in critical for e in extension]:
-        if nam not in files:
-            missing.append(nam)
+    # Check files in a case insensitive manner
+    files = set([f.lower() for f in os.listdir(dirname)])
+
+    found = False
+    for cat, inf, sys in [["%s.%s" % (b, e) for e in ext] for b in VIRTIO]:
+        if cat in files and inf in files and sys in files:
+            found = True
+
+    if not found:
+        raise ValueError("Invalid VirtIO directory. No VirtIO driver found")
 
-    if len(missing):
-        raise ValueError("Invalid VirtIO directory. The following files were "
-                         "not found: %s" % ", ".join(missing))
     return dirname