diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index c0b3045..912ee0c 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -4631,8 +4631,7 @@
 
   @override
   StaticGet makeStaticGet(Member readTarget, Token token) {
-    return new StaticGetJudgment(readTarget)
-      ..fileOffset = offsetForToken(token);
+    return new StaticGet(readTarget)..fileOffset = offsetForToken(token);
   }
 
   @override
diff --git a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
index 082dbd0..e2d723f 100644
--- a/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/inference_visitor.dart
@@ -1046,7 +1046,8 @@
     return null;
   }
 
-  void visitStaticGetJudgment(StaticGetJudgment node, DartType typeContext) {
+  @override
+  void visitStaticGet(StaticGet node, DartType typeContext) {
     var target = node.target;
     if (target is ShadowField && target.inferenceNode != null) {
       target.inferenceNode.resolve();
@@ -1056,8 +1057,7 @@
     if (target is Procedure && target.kind == ProcedureKind.Method) {
       type = inferrer.instantiateTearOff(type, typeContext, node);
     }
-    node.inferredType = type;
-    return null;
+    inferrer.storeInferredType(node, type);
   }
 
   void visitStaticInvocationJudgment(
diff --git a/pkg/front_end/lib/src/fasta/kernel/inferred_type_visitor.dart b/pkg/front_end/lib/src/fasta/kernel/inferred_type_visitor.dart
index 14a226f..d0c813e 100644
--- a/pkg/front_end/lib/src/fasta/kernel/inferred_type_visitor.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/inferred_type_visitor.dart
@@ -137,4 +137,9 @@
     // VariableAssignmentJudgment._replaceWithDesugared.
     return inferrer.readInferredType(node);
   }
+
+  @override
+  DartType visitStaticGet(StaticGet node, TypeInferrerImpl inferrer) {
+    return inferrer.readInferredType(node);
+  }
 }
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
index 867c8ce..b6c20cc 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_ast_api.dart
@@ -115,7 +115,6 @@
         ReturnJudgment,
         ShadowLargeIntLiteral,
         StaticAssignmentJudgment,
-        StaticGetJudgment,
         StaticInvocationJudgment,
         SuperInitializerJudgment,
         SuperMethodInvocationJudgment,
diff --git a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
index da38624..97152c3 100644
--- a/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/kernel_shadow_ast.dart
@@ -1329,19 +1329,6 @@
   }
 }
 
-/// Concrete shadow object representing a read of a static variable in kernel
-/// form.
-class StaticGetJudgment extends StaticGet implements ExpressionJudgment {
-  DartType inferredType;
-
-  StaticGetJudgment(Member target) : super(target);
-
-  @override
-  void acceptInference(InferenceVistor visitor, DartType typeContext) {
-    return visitor.visitStaticGetJudgment(this, typeContext);
-  }
-}
-
 /// Shadow object for [StaticInvocation].
 class StaticInvocationJudgment extends StaticInvocation
     implements ExpressionJudgment {
