diff --git a/version-manifest/pom.xml b/version-manifest/pom.xml
index 0826aeb..361262e 100644
--- a/version-manifest/pom.xml
+++ b/version-manifest/pom.xml
@@ -8,7 +8,7 @@
   </parent>
   <groupId>org.onap.integration</groupId>
   <artifactId>version-manifest</artifactId>
-  <version>0.1.0-SNAPSHOT</version>
+  <version>0.1.1-SNAPSHOT</version>
   <packaging>maven-plugin</packaging>
   <name>ONAP Version Manifest and Maven Plugin</name>
   <url>https://www.onap.org</url>
diff --git a/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java b/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
index 75da50f..dfac6cd 100644
--- a/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
+++ b/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
@@ -130,9 +130,9 @@
 
         // used for formatting
         int[] columnWidths = new int[10];
-        columnWidths[0] = actualVersions.keySet().stream().mapToInt(String::length).max().orElse(1);
-        columnWidths[1] = actualVersions.values().stream().mapToInt(String::length).max().orElse(1);
-        columnWidths[2] = expectedVersions.values().stream().mapToInt(String::length).max().orElse(1);
+        columnWidths[0] = actualVersions.keySet().stream().mapToInt(s -> ("" + s).length()).max().orElse(1);
+        columnWidths[1] = actualVersions.values().stream().mapToInt(s -> ("" + s).length()).max().orElse(1);
+        columnWidths[2] = expectedVersions.values().stream().mapToInt(s -> ("" + s).length()).max().orElse(1);
         String format = "  %-" + columnWidths[0] + "s" + "  %" + columnWidths[1] + "s -> %" + columnWidths[2] + "s";
 
         if (mismatches.isEmpty()) {
