diff --git a/bin/internal/engine.version b/bin/internal/engine.version
index 0271767..62c80a8 100644
--- a/bin/internal/engine.version
+++ b/bin/internal/engine.version
@@ -1 +1 @@
-ab46186b246f5a36bd1f3f295d14a43abb1e2f38
+a83ed0e5e3b9cd2b5e2f07ef31c72f43c55e93b7
diff --git a/bin/internal/material_fonts.version b/bin/internal/material_fonts.version
index 18a9e01..795d74f 100644
--- a/bin/internal/material_fonts.version
+++ b/bin/internal/material_fonts.version
@@ -1 +1 @@
-flutter_infra_release/flutter/fonts/bd151aa3c2f7231344411a01dba4ef61b3cd56b2/fonts.zip
+flutter_infra_release/flutter/fonts/3ebf18904a0b2d50fe311ff41e9e1e4894bc270d/fonts.zip
diff --git a/material_fonts.version b/material_fonts.version
deleted file mode 100644
index 48235a9..0000000
--- a/material_fonts.version
+++ /dev/null
@@ -1 +0,0 @@
-flutter_infra_release/flutter/fonts/57a44916871337b241f6f1e2a97f7b732f2f086c/fonts.zip
diff --git a/packages/flutter/lib/fix_data.yaml b/packages/flutter/lib/fix_data.yaml
index 5b29eea..255e620 100644
--- a/packages/flutter/lib/fix_data.yaml
+++ b/packages/flutter/lib/fix_data.yaml
@@ -14,6 +14,17 @@
 
 version: 1
 transforms:
+  # Changes made in https://github.com/flutter/flutter/pull/96115
+  - title: "Migrate 'Icons.pie_chart_outlined' to 'Icons.pie_chart_outline'"
+    date: 2022-01-04
+    element:
+      uris: [ 'material.dart' ]
+      field: 'pie_chart_outlined'
+      inClass: 'Icons'
+    changes:
+      - kind: 'rename'
+        newName: 'pie_chart_outline'
+
   # Changes made in https://github.com/flutter/flutter/pull/93427
   - title: "Remove 'primaryVariant' and 'secondaryVariant'"
     date: 2021-11-19
diff --git a/packages/flutter/lib/src/material/icons.dart b/packages/flutter/lib/src/material/icons.dart
index c5d5ee5..ddb13bf 100644
--- a/packages/flutter/lib/src/material/icons.dart
+++ b/packages/flutter/lib/src/material/icons.dart
@@ -11600,7 +11600,7 @@
   /// <i class="material-icons-round md-36">insert_chart</i> &#x2014; material icon named "insert chart" (round).
   static const IconData insert_chart_rounded = IconData(0xf819, fontFamily: 'MaterialIcons');
 
-  /// <i class="material-icons-outlined md-36">insert_chart</i> &#x2014; material icon named "insert chart" (outlined).
+  /// <i class="material-icons md-36">insert_chart</i> &#x2014; material icon named "insert chart".
   static const IconData insert_chart_outlined = IconData(0xf12a, fontFamily: 'MaterialIcons');
 
   /// <i class="material-icons-sharp md-36">insert_chart_outlined</i> &#x2014; material icon named "insert chart outlined" (sharp).
@@ -16970,9 +16970,6 @@
   /// <i class="material-icons-round md-36">pie_chart</i> &#x2014; material icon named "pie chart" (round).
   static const IconData pie_chart_rounded = IconData(0xf009a, fontFamily: 'MaterialIcons');
 
-  /// <i class="material-icons-outlined md-36">pie_chart</i> &#x2014; material icon named "pie chart" (outlined).
-  static const IconData pie_chart_outlined = IconData(0xf2a8, fontFamily: 'MaterialIcons');
-
   /// <i class="material-icons md-36">pie_chart_outline</i> &#x2014; material icon named "pie chart outline".
   static const IconData pie_chart_outline = IconData(0xe4c5, fontFamily: 'MaterialIcons');
 
diff --git a/packages/flutter/test/material/icons_test.dart b/packages/flutter/test/material/icons_test.dart
index 02fe3ef..8e8b314 100644
--- a/packages/flutter/test/material/icons_test.dart
+++ b/packages/flutter/test/material/icons_test.dart
@@ -82,6 +82,27 @@
 
     await expectLater(find.byType(Wrap), matchesGoldenFile('test.icons.sample.png'));
   }, skip: isBrowser); // https://github.com/flutter/flutter/issues/39998
+
+  // Regression test for https://github.com/flutter/flutter/issues/95886
+  testWidgets('Another sample of icons look as expected', (WidgetTester tester) async {
+    await _loadIconFont();
+
+    await tester.pumpWidget(MaterialApp(
+      home: IconTheme(
+        data: const IconThemeData(size: 200),
+        child: Wrap(
+          children: const <Icon>[
+            Icon(Icons.water_drop),
+            Icon(Icons.water_drop_outlined),
+            Icon(Icons.water_drop_rounded),
+            Icon(Icons.water_drop_sharp),
+          ],
+        ),
+      ),
+    ));
+
+    await expectLater(find.byType(Wrap), matchesGoldenFile('test.icons.sample2.png'));
+  }, skip: isBrowser); // https://github.com/flutter/flutter/issues/39998
 }
 
 // Loads the cached material icon font.
diff --git a/packages/flutter/test_fixes/material.dart b/packages/flutter/test_fixes/material.dart
index 512e251..73c1f71 100644
--- a/packages/flutter/test_fixes/material.dart
+++ b/packages/flutter/test_fixes/material.dart
@@ -518,4 +518,7 @@
   colorScheme = colorScheme.copyWith(primaryVariant: Colors.black, secondaryVariant: Colors.white);
   colorScheme.primaryVariant;
   colorScheme.secondaryVariant;
+
+  // Changes made in https://github.com/flutter/flutter/pull/96115
+  Icon icon = Icons.pie_chart_outlined;
 }
diff --git a/packages/flutter/test_fixes/material.dart.expect b/packages/flutter/test_fixes/material.dart.expect
index 82fb20f..2cfc8bf 100644
--- a/packages/flutter/test_fixes/material.dart.expect
+++ b/packages/flutter/test_fixes/material.dart.expect
@@ -491,4 +491,7 @@
   colorScheme = colorScheme.copyWith();
   colorScheme.primaryContainer;
   colorScheme.secondaryContainer;
+
+  // Changes made in https://github.com/flutter/flutter/pull/96115
+  Icon icon = Icons.pie_chart_outline;
 }
