diff --git a/LanguageFeatures/nnbd/late_A03_t03.dart b/LanguageFeatures/nnbd/late_A03_t03.dart
deleted file mode 100644
index 96cd1c1..0000000
--- a/LanguageFeatures/nnbd/late_A03_t03.dart
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
- * for details. All rights reserved. Use of this source code is governed by a
- * BSD-style license that can be found in the LICENSE file.
- */
-/**
- * @assertion A read of a field or variable which is marked as late which has
- * not yet been written to causes the initializer expression of the variable to
- * be evaluated to a value, assigned to the variable or field, and returned as
- * the value of the read.
- * ...
- * Evaluating the initializer expression may validly cause a write to the field
- * or variable, assuming that the field or variable is not final. In this case,
- * the variable assumes the written value. The final value of the initializer
- * expression overwrites any intermediate written values.
- *
- * @description Check that it is a runtime error if initializing expression
- * writes an intermediate value to final field or variable
- * @author sgrekhov@unipro.ru
- * @issue 39802
- */
-// SharedOptions=--enable-experiment=non-nullable
-// Requirements=nnbd-strong
-import "../../Utils/expect.dart";
-
-class C {
-  static late final String s;
-  late final String v;
-}
-
-late final String g;
-
-main() {
-  late final String l;
-
-  C.s = "Lily was here";
-  Expect.equals("Lily was here", C.s);
-  Expect.throws(() {C.s = "Show must go on";},
-          (e) => e is LateInitializationError);
-  Expect.equals("Lily was here", C.s);
-
-  C c = new C();
-  c.v = "Lily was here";
-  Expect.equals("Lily was here", c.v);
-  Expect.throws(() {c.v = "Show must go on";},
-          (e) => e is LateInitializationError);
-  Expect.equals("Lily was here", c.v);
-
-  g = "Lily was here";
-  Expect.equals("Lily was here", g);
-  Expect.throws(() {g = "Show must go on";},
-          (e) => e is LateInitializationError);
-  Expect.equals("Lily was here", g);
-
-  l = "Lily was here";
-  Expect.equals("Lily was here", l);
-  Expect.throws(() {l = "Show must go on";},
-          (e) => e is LateInitializationError);
-  Expect.equals("Lily was here", l);
-}
diff --git a/LanguageFeatures/nnbd/late_A06_t04.dart b/LanguageFeatures/nnbd/late_A06_t04.dart
index 066653a..347d6bf 100644
--- a/LanguageFeatures/nnbd/late_A06_t04.dart
+++ b/LanguageFeatures/nnbd/late_A06_t04.dart
@@ -28,8 +28,6 @@
 late final String g;
 
 main() {
-  late final String l;
-
   C.s = "No";
   Expect.equals("No", C.s);
   Expect.throws(() {C.s = "Lily was here";});
@@ -42,8 +40,4 @@
   g = "no";
   Expect.equals("no", g);
   Expect.throws(() {g = "Lily was here";});
-
-  l = "cry";
-  Expect.equals("cry", l);
-  Expect.throws(() {l = "Lily was here";});
 }
diff --git a/LanguageFeatures/nnbd/late_A06_t05.dart b/LanguageFeatures/nnbd/late_A06_t05.dart
index 87cb83e..bd3112b 100644
--- a/LanguageFeatures/nnbd/late_A06_t05.dart
+++ b/LanguageFeatures/nnbd/late_A06_t05.dart
@@ -28,8 +28,6 @@
 late final String? g;
 
 main() {
-  late final String? l;
-
   C.s = "No";
   Expect.throws(() {C.s = "Lily was here";});
   Expect.equals("No", C.s);
@@ -42,8 +40,4 @@
   g = "no";
   Expect.throws(() {g = "Lily was here";});
   Expect.equals("no", g);
-
-  l = "cry";
-  Expect.throws(() {l = "Lily was here";});
-  Expect.equals("cry", l);
 }
diff --git a/LanguageFeatures/nnbd/static_errors_A18_t02.dart b/LanguageFeatures/nnbd/static_errors_A18_t02.dart
index 575285e..a6ed375 100644
--- a/LanguageFeatures/nnbd/static_errors_A18_t02.dart
+++ b/LanguageFeatures/nnbd/static_errors_A18_t02.dart
@@ -24,15 +24,11 @@
 }
 
 main() {
-  late final l;
-
   g = "Lily";
   C.s = "was";
   new C().v = "here";
-  l = "Run, Forrest, run";
 
   Expect.throws(() {g = "Lily";});
   Expect.throws(() {C.s = "was";});
   Expect.throws(() {new C().v = "here";});
-  Expect.throws(() {l = "Run, Forrest, run";});
 }
