diff --git a/VERSION b/VERSION
index 406ebcb..108e2ce 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.2.7
+3.2.8-dev
diff --git a/lib/xos-genx/xosgenx/generator.py b/lib/xos-genx/xosgenx/generator.py
index 278a309..307e914 100644
--- a/lib/xos-genx/xosgenx/generator.py
+++ b/lib/xos-genx/xosgenx/generator.py
@@ -261,31 +261,34 @@
         try:
             ast = parser.parse_string(inputs, debug=0)
         except plyxproto.ParsingError as e:
-            line, start, end = e.error_range
-
-            ptr = XOSProcessor._find_last_nonempty_line(inputs, start)
-
-            if start == 0:
-                beginning = ""
-            else:
-                beginning = inputs[ptr: start - 1]
-
-            line_end_char = inputs[start + end:].find("\n")
-            line_end = inputs[line_end_char]
-
             if e.message:
                 error = e.message
             else:
                 error = "xproto parsing error"
+            if e.error_range is None:
+                # No line number information
+                print(error + "\n")
+            else:
+                line, start, end = e.error_range
 
-            print(error + "\n" + Fore.YELLOW + "Line %d:" % line + Fore.WHITE)
-            print(
-                beginning
-                + Fore.YELLOW
-                + inputs[start - 1: start + end]
-                + Fore.WHITE
-                + line_end
-            )
+                ptr = XOSProcessor._find_last_nonempty_line(inputs, start)
+
+                if start == 0:
+                    beginning = ""
+                else:
+                    beginning = inputs[ptr: start - 1]
+
+                line_end_char = inputs[start + end:].find("\n")
+                line_end = inputs[line_end_char]
+
+                print(error + "\n" + Fore.YELLOW + "Line %d:" % line + Fore.WHITE)
+                print(
+                    beginning
+                    + Fore.YELLOW
+                    + inputs[start - 1: start + end]
+                    + Fore.WHITE
+                    + line_end
+                )
             exit(1)
 
         v = XOSProcessor._attach_parser(ast, args)
