diff --git a/scripts/imgtool/version.py b/scripts/imgtool/version.py
index 64962e9..8910e0b 100644
--- a/scripts/imgtool/version.py
+++ b/scripts/imgtool/version.py
@@ -15,20 +15,24 @@
 """
 Semi Semantic Versioning
 
-Implements a subset of semantic versioning that is supportable by the image header.
+Implements a subset of semantic versioning that is supportable by the image
+header.
 """
 
-import argparse
 from collections import namedtuple
 import re
 
-SemiSemVersion = namedtuple('SemiSemVersion', ['major', 'minor', 'revision', 'build'])
+SemiSemVersion = namedtuple('SemiSemVersion', ['major', 'minor', 'revision',
+                                               'build'])
 
-version_re = re.compile(r"""^([1-9]\d*|0)(\.([1-9]\d*|0)(\.([1-9]\d*|0)(\+([1-9]\d*|0))?)?)?$""")
+version_re = re.compile(
+    r"""^([1-9]\d*|0)(\.([1-9]\d*|0)(\.([1-9]\d*|0)(\+([1-9]\d*|0))?)?)?$""")
+
+
 def decode_version(text):
-    """Decode the version string, which should be of the form maj.min.rev+build"""
+    """Decode the version string, which should be of the form maj.min.rev+build
+    """
     m = version_re.match(text)
-    # print("decode:", text, m.groups())
     if m:
         result = SemiSemVersion(
                 int(m.group(1)) if m.group(1) else 0,
@@ -37,8 +41,10 @@
                 int(m.group(7)) if m.group(7) else 0)
         return result
     else:
-        msg = "Invalid version number, should be maj.min.rev+build with later parts optional"
-        raise argparse.ArgumentTypeError(msg)
+        msg = "Invalid version number, should be maj.min.rev+build with later "
+        msg += "parts optional"
+        raise ValueError(msg)
+
 
 if __name__ == '__main__':
     print(decode_version("1.2"))
