diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml
index f7c5143..f0c479a 100644
--- a/resources/META-INF/plugin.xml
+++ b/resources/META-INF/plugin.xml
@@ -1,7 +1,7 @@
 <idea-plugin>
   <id>fuchsia.developer.plugin.fidl</id>
   <name>FIDL</name>
-  <version>0.16</version>
+  <version>0.17</version>
   <vendor
       url="https://fuchsia.googlesource.com/intellij-language-fidl/">The Fuchsia Authors
   </vendor>
@@ -18,6 +18,11 @@
 
   <change-notes><![CDATA[
       <ul>
+        <li><b>0.17</b>
+          <ul>
+            <li>Fix crash in version 0.16.</li>
+          </ul>
+        </li>
         <li><b>0.16</b>
           <ul>
             <li>Updated to support the new (RFC-0050) FIDL syntax.</li>
diff --git a/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java b/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
index ddf8d51..d6c6c64 100644
--- a/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
+++ b/src/fuchsia/developer/plugin/fidl/ContextAwareHighlighter.java
@@ -333,18 +333,17 @@
                   element, "Expected integer value for member, found " + literal.getText());
             } else {
               // INLINE_LAYOUT -> LAYOUT_BODY -> VALUE_LAYOUT -> VALUE_LAYOUT_MEMBER
-              String value =
-                  correctTypeOrError(
-                      greatGrandParent
-                          .getNode()
-                          .findChildByType(Types.LAYOUT_SUBTYPE)
-                          .findChildByType(Types.TYPE_CONSTRUCTOR),
-                      integralLiteral);
-              if (value != null) {
-                holder.createErrorAnnotation(element, value);
+              ASTNode subtype = greatGrandParent.getNode().findChildByType(Types.LAYOUT_SUBTYPE);
+              if (subtype != null) {
+                String value =
+                    correctTypeOrError(
+                        subtype.findChildByType(Types.TYPE_CONSTRUCTOR), integralLiteral);
+                if (value != null) {
+                  holder.createErrorAnnotation(element, value);
+                }
               }
               if (maybeGreatGrandParentLayoutKind == Types.BITS) {
-                value = unsignedLongPowerOfTwoOrError(integralLiteral);
+                String value = unsignedLongPowerOfTwoOrError(integralLiteral);
                 if (value != null) {
                   holder.createErrorAnnotation(element, value);
                 }
