diff --git a/modules/gdscript/gdscript_function.cpp b/modules/gdscript/gdscript_function.cpp index 93c3d50ba6e..4dcdf491f7c 100644 --- a/modules/gdscript/gdscript_function.cpp +++ b/modules/gdscript/gdscript_function.cpp @@ -2001,8 +2001,10 @@ GDScriptFunctionState::GDScriptFunctionState() : GDScriptFunctionState::~GDScriptFunctionState() { _clear_stack(); - GDScriptLanguage::singleton->lock.lock(); - scripts_list.remove_from_list(); - instances_list.remove_from_list(); - GDScriptLanguage::singleton->lock.unlock(); + if (GDScriptLanguage::singleton) { + GDScriptLanguage::singleton->lock.lock(); + scripts_list.remove_from_list(); + instances_list.remove_from_list(); + GDScriptLanguage::singleton->lock.unlock(); + } }