diff --git a/IDEHelper/Compiler/BfStmtEvaluator.cpp b/IDEHelper/Compiler/BfStmtEvaluator.cpp index 8f0ee998..b0f82bbe 100644 --- a/IDEHelper/Compiler/BfStmtEvaluator.cpp +++ b/IDEHelper/Compiler/BfStmtEvaluator.cpp @@ -7283,7 +7283,16 @@ void BfModule::Visit(BfDeferStatement* deferStmt) scope = &mCurMethodState->mHeadScope; } else if (deferStmt->mScopeName != NULL) + { scope = FindScope(deferStmt->mScopeName, true); + + if (scope == NULL) + { + AssertErrorState(); + // The scope doesn't exist, continue with the current scope so we still get an evaluation of the deferred code + scope = mCurMethodState->mCurScope; + } + } else scope = mCurMethodState->mCurScope;