diff --git a/xmltest.cpp b/xmltest.cpp
index 231328e..c8e1b0b 100644
--- a/xmltest.cpp
+++ b/xmltest.cpp
@@ -25,7 +25,7 @@
 int gFail = 0;
 
 
-bool XMLTest (const char* testString, const char* expected, const char* found, bool echo=true )
+bool XMLTest (const char* testString, const char* expected, const char* found, bool echo=true, bool extraNL=false )
 {
 	bool pass = !strcmp( expected, found );
 	if ( pass )
@@ -33,10 +33,19 @@
 	else
 		printf ("[fail]");
 
-	if ( !echo )
+	if ( !echo ) {
 		printf (" %s\n", testString);
-	else
-		printf (" %s [%s][%s]\n", testString, expected, found);
+	}
+	else {
+		if ( extraNL ) {
+			printf( " %s\n", testString );
+			printf( "%s\n", expected );
+			printf( "%s\n", found );
+		}
+		else {
+			printf (" %s [%s][%s]\n", testString, expected, found);
+		}
+	}
 
 	if ( pass )
 		++gPass;
@@ -1164,6 +1173,28 @@
 		XMLTest( "Loading an empty file", XML_ERROR_EMPTY_DOCUMENT, error );
 	}
 
+	{
+        // BOM preservation
+        static const char* xml_bom_preservation  = "\xef\xbb\xbf<element/>\n";
+        {
+			XMLDocument doc;
+			XMLTest( "BOM preservation (parse)", XML_NO_ERROR, doc.Parse( xml_bom_preservation ), false );
+            XMLPrinter printer;
+            doc.Print( &printer );
+
+            XMLTest( "BOM preservation (compare)", xml_bom_preservation, printer.CStr(), false, true );
+			doc.SaveFile( "resources/bomtest.xml" );
+        }
+		{
+			XMLDocument doc;
+			doc.LoadFile( "resources/bomtest.xml" );
+			XMLTest( "BOM preservation (load)", true, doc.HasBOM(), false );
+
+            XMLPrinter printer;
+            doc.Print( &printer );
+            XMLTest( "BOM preservation (compare)", xml_bom_preservation, printer.CStr(), false, true );
+		}
+	}
 
 	// ----------- Performance tracking --------------
 	{
