diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index 633dd72ce32..5d46605d6d6 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -534,7 +534,7 @@ void ShaderMaterial::set_shader(const Ref& p_shader) { if (shader.is_valid()) shader->disconnect(SceneStringNames::get_singleton()->changed,this,SceneStringNames::get_singleton()->_shader_changed); shader=p_shader; - VS::get_singleton()->material_set_shader(material,shader->get_rid()); + VS::get_singleton()->material_set_shader(material,shader.is_valid()?shader->get_rid():RID()); if (shader.is_valid()) { shader->connect(SceneStringNames::get_singleton()->changed,this,SceneStringNames::get_singleton()->_shader_changed); }