diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java b/src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java
index 004f2c3..40eabeb 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/ActionCacheChecker.java
@@ -138,8 +138,8 @@
    * {@link Token} if the action needs to be executed, and null otherwise.
    *
    * <p>If this method returns non-null, indicating that the action will be executed, the
-   * metadataHandler's {@link MetadataHandler#discardMetadata} method must be called, so that it
-   * does not serve stale metadata for the action's outputs after the action is executed.
+   * metadataHandler's {@link MetadataHandler#discardOutputMetadata} method must be called, so that
+   * it does not serve stale metadata for the action's outputs after the action is executed.
    */
   // Note: the handler should only be used for DEPCHECKER events; there's no
   // guarantee it will be available for other events.
diff --git a/src/main/java/com/google/devtools/build/lib/actions/cache/MetadataHandler.java b/src/main/java/com/google/devtools/build/lib/actions/cache/MetadataHandler.java
index 049fd61..eda535d 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/cache/MetadataHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/cache/MetadataHandler.java
@@ -19,7 +19,6 @@
 import com.google.devtools.build.lib.vfs.FileStatus;
 
 import java.io.IOException;
-import java.util.Collection;
 
 /** Retrieves {@link Metadata} of {@link Artifact}s, and inserts virtual metadata as well. */
 public interface MetadataHandler {
@@ -85,7 +84,11 @@
    */
   boolean isInjected(Artifact artifact) throws IOException;
 
-  /** Discards all metadata for the given artifacts, presumably because they will be modified. */
-  void discardMetadata(Collection<Artifact> artifactList);
+  /**
+   * Discards all known output artifact metadata, presumably because outputs will be modified.
+   * May only be called before any metadata is injected using {@link #injectDigest} or
+   * {@link #markOmitted};
+   */
+  void discardOutputMetadata();
 
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionMetadataHandler.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionMetadataHandler.java
index 3230af8..7275222 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionMetadataHandler.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionMetadataHandler.java
@@ -35,7 +35,6 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.Arrays;
-import java.util.Collection;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
@@ -282,11 +281,13 @@
   }
 
   @Override
-  public void discardMetadata(Collection<Artifact> artifactList) {
+  public void discardOutputMetadata() {
     Preconditions.checkState(injectedArtifacts.isEmpty(),
         "Artifacts cannot be injected before action execution: %s", injectedArtifacts);
-    outputArtifactData.keySet().removeAll(artifactList);
-    additionalOutputData.keySet().removeAll(artifactList);
+    Preconditions.checkState(omittedOutputs.isEmpty(),
+        "Artifacts cannot be marked omitted before action execution: %s", omittedOutputs);
+    outputArtifactData.clear();
+    additionalOutputData.clear();
   }
 
   @Override
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java
index ba32dd8..d4361ae 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java
@@ -673,7 +673,7 @@
       ActionExecutionContext context, long actionStartTime)
       throws ActionExecutionException, InterruptedException {
     // Delete the metadataHandler's cache of the action's outputs, since they are being deleted.
-    context.getMetadataHandler().discardMetadata(action.getOutputs());
+    context.getMetadataHandler().discardOutputMetadata();
     // Delete the outputs before executing the action, just to ensure that
     // the action really does produce the outputs.
     try {
