diff --git a/SAS/SpecificationServices/lib/validation_service.py b/SAS/SpecificationServices/lib/validation_service.py
index 4aba051d4ae2ee295b97ed83c01d160e365e6d8b..e197483b8f4f11a42c2d37603f83771cd6742714 100644
--- a/SAS/SpecificationServices/lib/validation_service.py
+++ b/SAS/SpecificationServices/lib/validation_service.py
@@ -25,7 +25,7 @@
 
 
 import logging
-from io import StringIO
+from io import BytesIO
 from lxml import etree
 import os
 from lofar.messaging import Service
@@ -51,7 +51,7 @@ def _validateXSD(xml, xsdpath):
 
         # Try to parse the XML
         try:
-            doc = etree.parse(StringIO(xml.encode('utf8')))
+            doc = etree.parse(BytesIO(xml.encode('utf8')))
         except etree.LxmlError as err:
             logger.error(err)
             return {"valid": False, "error": "XML could not be parsed: %s" % (err.message,)}