diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
index 04aa0d7..e3bd837 100644
--- a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
+++ b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java
@@ -65,7 +65,6 @@
 import com.google.devtools.build.lib.exec.SingleBuildFileCache;
 import com.google.devtools.build.lib.packages.AspectDescriptor;
 import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Strategy;
 import com.google.devtools.build.lib.util.FileType;
 import com.google.devtools.build.lib.util.ResourceUsage;
 import com.google.devtools.build.lib.util.io.FileOutErr;
@@ -267,10 +266,8 @@
           null,
           null);
 
-  @AutoCodec(strategy = Strategy.SINGLETON)
   static class NullArtifactOwner implements ArtifactOwner {
-    public static final ActionsTestUtil.NullArtifactOwner INSTANCE =
-        new ActionsTestUtil.NullArtifactOwner();
+    private NullArtifactOwner() {}
 
     @Override
     public Label getLabel() {
@@ -278,7 +275,7 @@
     }
   }
 
-  public static final ArtifactOwner NULL_ARTIFACT_OWNER = NullArtifactOwner.INSTANCE;
+  @AutoCodec public static final ArtifactOwner NULL_ARTIFACT_OWNER = new NullArtifactOwner();
 
   /** An unchecked exception class for action conflicts. */
   public static class UncheckedActionConflictException extends RuntimeException {
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
index 6fc7684..40c74d0 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -111,8 +111,10 @@
  * The common code that's shared between various builder tests.
  */
 public abstract class TimestampBuilderTestCase extends FoundationTestCase {
+  @AutoCodec
   protected static final ActionLookupValue.ActionLookupKey ACTION_LOOKUP_KEY =
       new SingletonActionLookupKey();
+
   protected static final Predicate<Action> ALWAYS_EXECUTE_FILTER = Predicates.alwaysTrue();
   protected static final String CYCLE_MSG = "Yarrrr, there be a cycle up in here";
 
@@ -501,10 +503,7 @@
     }
   }
 
-  @AutoCodec(strategy = AutoCodec.Strategy.SINGLETON)
   static class SingletonActionLookupKey extends ActionLookupValue.ActionLookupKey {
-    public static final SingletonActionLookupKey INSTANCE = new SingletonActionLookupKey();
-
     @Override
     public SkyFunctionName functionName() {
       return SkyFunctions.CONFIGURED_TARGET;
