diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index 86fac7f..aee05d6 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -435,14 +435,14 @@
   }
 
   @Override
+  @Nullable
   public ActionOwner getActionOwner(String execGroup) {
     if (actionOwners.containsKey(execGroup)) {
       return actionOwners.get(execGroup);
     }
-    Preconditions.checkState(
-        toolchainContexts == null || toolchainContexts.hasToolchainContext(execGroup),
-        "action owner requested for non-existent exec group '%s'.",
-        execGroup);
+    if (toolchainContexts != null && !toolchainContexts.hasToolchainContext(execGroup)) {
+      return null;
+    }
     ActionOwner actionOwner =
         createActionOwner(
             rule,
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java
index 2741086..eb8fc9a 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java
@@ -50,8 +50,9 @@
 
   /**
    * Returns the action owner that should be used for actions with the given exec group's execution
-   * platform. If an invalid exec group is given, throws a runtime exception.
+   * platform. If an invalid exec group is given, returns null.
    */
+  @Nullable
   ActionOwner getActionOwner(String execGroup);
 
   /** Returns the action key context. */
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
index d677b57..482d555 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
@@ -1309,6 +1309,11 @@
       return this;
     }
 
+    /**
+     * Sets the exec group for this action by name. This does not check that {@code execGroup} is
+     * being set to a valid exec group (i.e. one that actually exists). This method expects callers
+     * to do that work.
+     */
     public Builder setExecGroup(String execGroup) {
       this.execGroup = execGroup;
       return this;
