diff --git a/gn/sksl_tests.gni b/gn/sksl_tests.gni
index 16a8096..327c051 100644
--- a/gn/sksl_tests.gni
+++ b/gn/sksl_tests.gni
@@ -572,6 +572,7 @@
   "/sksl/runtime_errors/IllegalArrayOps.rte",
   "/sksl/runtime_errors/IllegalIndexing.rte",
   "/sksl/runtime_errors/IllegalOperators.rte",
+  "/sksl/runtime_errors/IllegalShaderUse.rte",
   "/sksl/runtime_errors/IllegalStatements.rte",
   "/sksl/runtime_errors/LoopConditionErrors.rte",
   "/sksl/runtime_errors/LoopExpressionErrors.rte",
diff --git a/resources/sksl/runtime_errors/IllegalShaderUse.rte b/resources/sksl/runtime_errors/IllegalShaderUse.rte
new file mode 100644
index 0000000..67f06b8
--- /dev/null
+++ b/resources/sksl/runtime_errors/IllegalShaderUse.rte
@@ -0,0 +1,17 @@
+// Expect 5 errors
+
+// Correct declaration (used in some test functions)
+uniform shader s1;
+uniform shader s2;
+
+// Incorrect shader declarations (they must be uniform)
+// TODO(skbug.com/11374): These are not detected as errors yet
+shader s3;
+in shader s4;
+
+// Various places that shaders should not be allowed:
+half4  local()             { shader s; return sample(s); }
+half4  parameter(shader s) { return sample(s); }
+shader returned()          { return s1; }
+half4  constructed()       { return sample(shader(s1)); }
+half4  expression(bool b)  { return sample(b ? s1 : s2); }
diff --git a/tests/SkRuntimeEffectTest.cpp b/tests/SkRuntimeEffectTest.cpp
index 9019a64..fca5ce7 100644
--- a/tests/SkRuntimeEffectTest.cpp
+++ b/tests/SkRuntimeEffectTest.cpp
@@ -72,24 +72,6 @@
     test_invalid_effect(r, "", "main");
 }
 
-DEF_TEST(SkRuntimeEffectInvalid_ShaderLimitations, r) {
-    // Various places that shaders (fragmentProcessors) should not be allowed
-    test_invalid_effect(r, "half4 main() { shader child; return sample(child); }",
-                        "must be global");
-    test_invalid_effect(r, "uniform shader child; half4 helper(shader fp) { return sample(fp); }"
-                           "half4 main() { return helper(child); }",
-                           "parameter");
-    test_invalid_effect(r, "uniform shader child; shader get_child() { return child; }"
-                           "half4 main() { return sample(get_child()); }",
-                           "return");
-    test_invalid_effect(r, "uniform shader child;"
-                           "half4 main() { return sample(shader(child)); }",
-                           "construct");
-    test_invalid_effect(r, "uniform shader child1; uniform shader child2;"
-                           "half4 main(float2 p) { return sample(p.x > 10 ? child1 : child2); }",
-                           "expression");
-}
-
 DEF_TEST(SkRuntimeEffectInvalid_SkCapsDisallowed, r) {
     // sk_Caps is an internal system. It should not be visible to runtime effects
     test_invalid_effect(r, "half4 main() { return sk_Caps.integerSupport ? half4(1) : half4(0); }",
diff --git a/tests/sksl/runtime_errors/IllegalShaderUse.skvm b/tests/sksl/runtime_errors/IllegalShaderUse.skvm
new file mode 100644
index 0000000..840154b
--- /dev/null
+++ b/tests/sksl/runtime_errors/IllegalShaderUse.skvm
@@ -0,0 +1,8 @@
+### Compilation failed:
+
+error: 13: variables of type 'shader' must be global
+error: 14: parameters of type 'shader' not allowed
+error: 15: functions may not return opaque type 'shader'
+error: 16: cannot construct 'shader'
+error: 17: ternary expression of opaque type 'shader' not allowed
+5 errors
