diff --git a/bin/internal/goldens.version b/bin/internal/goldens.version
index d4db4c0..24d16b4 100644
--- a/bin/internal/goldens.version
+++ b/bin/internal/goldens.version
@@ -1 +1 @@
-2eea0c710c4fca4c6655b4efc15b68d4b44cd404
+041efaf483a1cd011f4b4f6dcd04e0d5cad9436e
diff --git a/packages/flutter/test/cupertino/text_field_test.dart b/packages/flutter/test/cupertino/text_field_test.dart
index b77fe83..81bf06e 100644
--- a/packages/flutter/test/cupertino/text_field_test.dart
+++ b/packages/flutter/test/cupertino/text_field_test.dart
@@ -350,7 +350,7 @@
     debugDefaultTargetPlatformOverride = null;
   });
 
-  testWidgets('cursor android golden', (WidgetTester tester) async {
+  testWidgets('Cupertino cursor android golden', (WidgetTester tester) async {
     final Widget widget = CupertinoApp(
       home: Center(
         child: RepaintBoundary(
@@ -373,11 +373,11 @@
 
     await expectLater(
       find.byKey(const ValueKey<int>(1)),
-      matchesGoldenFile('text_field_cursor_test.0.2.png'),
+      matchesGoldenFile('text_field_cursor_test.cupertino.0.2.png'),
     );
   }, skip: !isLinux);
 
-  testWidgets('cursor iOS golden', (WidgetTester tester) async {
+  testWidgets('Cupertino cursor iOS golden', (WidgetTester tester) async {
     debugDefaultTargetPlatformOverride = TargetPlatform.iOS;
 
     final Widget widget = CupertinoApp(
@@ -403,7 +403,7 @@
     debugDefaultTargetPlatformOverride = null;
     await expectLater(
       find.byKey(const ValueKey<int>(1)),
-      matchesGoldenFile('text_field_cursor_test.1.2.png'),
+      matchesGoldenFile('text_field_cursor_test.cupertino.1.2.png'),
     );
   }, skip: !isLinux);
 
diff --git a/packages/flutter/test/material/text_field_test.dart b/packages/flutter/test/material/text_field_test.dart
index e3011ab..8931b4e 100644
--- a/packages/flutter/test/material/text_field_test.dart
+++ b/packages/flutter/test/material/text_field_test.dart
@@ -385,7 +385,7 @@
     expect(textField.cursorRadius, const Radius.circular(3.0));
   });
 
-  testWidgets('cursor android golden', (WidgetTester tester) async {
+  testWidgets('Material cursor android golden', (WidgetTester tester) async {
     final Widget widget = overlay(
       child: const RepaintBoundary(
         key: ValueKey<int>(1),
@@ -407,11 +407,11 @@
 
     await expectLater(
       find.byKey(const ValueKey<int>(1)),
-      matchesGoldenFile('text_field_cursor_test.0.0.png'),
+      matchesGoldenFile('text_field_cursor_test.material.0.0.png'),
     );
   }, skip: !isLinux);
 
-  testWidgets('cursor iOS golden', (WidgetTester tester) async {
+  testWidgets('Material cursor iOS golden', (WidgetTester tester) async {
     debugDefaultTargetPlatformOverride = TargetPlatform.iOS;
 
     final Widget widget = overlay(
@@ -436,7 +436,7 @@
     debugDefaultTargetPlatformOverride = null;
     await expectLater(
       find.byKey(const ValueKey<int>(1)),
-      matchesGoldenFile('text_field_cursor_test.1.0.png'),
+      matchesGoldenFile('text_field_cursor_test.material.1.0.png'),
     );
   }, skip: !isLinux);
 
