diff --git a/src/it/minimal-pom-output-encoding/pom.xml b/src/it/minimal-pom-output-encoding/pom.xml
index c80fac7..9a9ef32 100644
--- a/src/it/minimal-pom-output-encoding/pom.xml
+++ b/src/it/minimal-pom-output-encoding/pom.xml
@@ -57,9 +57,9 @@
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-changelog-plugin</artifactId>
         <version>@pom.version@</version>
-		<configuration>
+        <configuration>
           <outputEncoding>UTF-8</outputEncoding>
-		</configuration>        
+        </configuration>
       </plugin>
     </plugins>
   </reporting>
diff --git a/src/it/minimal-pom-output-encoding/verify.bsh b/src/it/minimal-pom-output-encoding/verify.bsh
index d02cdf5..8682526 100644
--- a/src/it/minimal-pom-output-encoding/verify.bsh
+++ b/src/it/minimal-pom-output-encoding/verify.bsh
@@ -1,9 +1,18 @@
 import java.io.*;
 import java.util.*;
 import java.util.regex.*;
+import org.codehaus.plexus.util.FileUtils;
 
 try
 {
+    File outputXML = new File( basedir, "target/changelog.xml" );
+    System.out.println( "Checking for existence of xml file: " + outputXML );
+    String content = FileUtils.fileRead( outputXML, "UTF-8" );
+    if ( content.indexOf( "encoding=\"UTF-8\"" ) < 0 )
+    {
+        throw new IOException( "Wrong encoding attribute in content." );
+    }
+
     File siteDir = new File( basedir, "target/site" );
     System.out.println( "Checking for existence of site directory: " + siteDir );
     if ( !siteDir.isDirectory() )
diff --git a/src/it/minimal-pom/verify.bsh b/src/it/minimal-pom/verify.bsh
index d02cdf5..68c00f6 100644
--- a/src/it/minimal-pom/verify.bsh
+++ b/src/it/minimal-pom/verify.bsh
@@ -1,9 +1,18 @@
 import java.io.*;
 import java.util.*;
 import java.util.regex.*;
+import org.codehaus.plexus.util.FileUtils;
 
 try
 {
+    File outputXML = new File( basedir, "target/changelog.xml" );
+    System.out.println( "Checking for existence of xml file: " + outputXML );
+    String content = FileUtils.fileRead( outputXML, "ISO-8859-1" );
+    if ( content.indexOf( "encoding=\"ISO-8859-1\"" ) < 0 )
+    {
+        throw new IOException( "Wrong encoding attribute in content." );
+    }
+
     File siteDir = new File( basedir, "target/site" );
     System.out.println( "Checking for existence of site directory: " + siteDir );
     if ( !siteDir.isDirectory() )
