diff --git a/game/engines/default/engine/Shader.lua b/game/engines/default/engine/Shader.lua
index e8810576fe655aff7466e379bd9b44d2b29e5e0a..9789d622328fe632529da343d0144b945f6973aa 100644
--- a/game/engines/default/engine/Shader.lua
+++ b/game/engines/default/engine/Shader.lua
@@ -41,10 +41,10 @@ function _M:init(name, args)
 --	print("[SHADER] making shader from", name, " into ", self.totalname)
 
 	if args and args.require_shader then
-		if not core.shader.active(args.require_shader) then return end
+		if not core.shader.active(4) or not core.shader.active(args.require_shader) then return end
 	end
 	if args and args.require_kind then
-		if not core.shader.allow(args.require_kind) then return end
+		if not core.shader.active(4) or not core.shader.allow(args.require_kind) then return end
 	end
 
 	if not core.shader.active() then return end