diff --git a/xfa/fxfa/parser/cxfa_nodehelper.cpp b/xfa/fxfa/parser/cxfa_nodehelper.cpp
index dc9b0ca..10d5e8b 100644
--- a/xfa/fxfa/parser/cxfa_nodehelper.cpp
+++ b/xfa/fxfa/parser/cxfa_nodehelper.cpp
@@ -312,23 +312,24 @@
                                  const WideString& wsCondition,
                                  bool bLastNode,
                                  CFXJSE_Engine* pScriptContext) {
-  ASSERT(!wsName.IsEmpty());
-
   if (!m_pCreateParent)
     return false;
 
   WideStringView wsNameView = wsName.AsStringView();
   bool bIsClassName = false;
   bool bResult = false;
-  if (wsNameView[0] == '!') {
+  if (!wsNameView.IsEmpty() && wsNameView[0] == '!') {
     wsNameView = wsNameView.Right(wsNameView.GetLength() - 1);
     m_pCreateParent = ToNode(
         pScriptContext->GetDocument()->GetXFAObject(XFA_HASHCODE_Datasets));
   }
-  if (wsNameView[0] == '#') {
+  if (!wsNameView.IsEmpty() && wsNameView[0] == '#') {
     bIsClassName = true;
     wsNameView = wsNameView.Right(wsNameView.GetLength() - 1);
   }
+  if (wsNameView.IsEmpty())
+    return false;
+
   if (m_iCreateCount == 0)
     CreateNodeForCondition(wsCondition);
 
