diff --git a/packages/flutter/lib/src/material/slider_theme.dart b/packages/flutter/lib/src/material/slider_theme.dart
index 6e93b70..cbcc03b 100644
--- a/packages/flutter/lib/src/material/slider_theme.dart
+++ b/packages/flutter/lib/src/material/slider_theme.dart
@@ -562,7 +562,7 @@
   /// Create a slider thumb that draws a circle.
   const RoundSliderThumbShape();
 
-  static const double _thumbRadius = 10.0;
+  static const double _thumbRadius = 6.0;
   static const double _disabledThumbRadius = 4.0;
 
   @override
diff --git a/packages/flutter/test/material/slider_test.dart b/packages/flutter/test/material/slider_test.dart
index e86ec02..bc70eed 100644
--- a/packages/flutter/test/material/slider_test.dart
+++ b/packages/flutter/test/material/slider_test.dart
@@ -998,7 +998,7 @@
           ..circle(x: 400.0, y: 16.0, radius: 1.0)
           ..circle(x: 591.5, y: 16.0, radius: 1.0)
           ..circle(x: 783.0, y: 16.0, radius: 1.0)
-          ..circle(x: 16.0, y: 16.0, radius: 10.0),
+          ..circle(x: 16.0, y: 16.0, radius: 6.0),
       );
 
       gesture = await tester.startGesture(center);
@@ -1015,7 +1015,7 @@
           ..circle(x: 400.0, y: 16.0, radius: 1.0)
           ..circle(x: 591.5, y: 16.0, radius: 1.0)
           ..circle(x: 783.0, y: 16.0, radius: 1.0)
-          ..circle(x: 105.0625, y: 16.0, radius: 10.0),
+          ..circle(x: 105.0625, y: 16.0, radius: 6.0),
       );
 
       // Reparenting in the middle of an animation should do nothing.
@@ -1035,7 +1035,7 @@
           ..circle(x: 400.0, y: 16.0, radius: 1.0)
           ..circle(x: 591.5, y: 16.0, radius: 1.0)
           ..circle(x: 783.0, y: 16.0, radius: 1.0)
-          ..circle(x: 185.5457763671875, y: 16.0, radius: 10.0),
+          ..circle(x: 185.5457763671875, y: 16.0, radius: 6.0),
       );
       // Wait for animations to finish.
       await tester.pumpAndSettle();
@@ -1048,7 +1048,7 @@
           ..circle(x: 208.5, y: 16.0, radius: 1.0)
           ..circle(x: 591.5, y: 16.0, radius: 1.0)
           ..circle(x: 783.0, y: 16.0, radius: 1.0)
-          ..circle(x: 400.0, y: 16.0, radius: 10.0),
+          ..circle(x: 400.0, y: 16.0, radius: 6.0),
       );
       await gesture.up();
       await tester.pumpAndSettle();
@@ -1060,7 +1060,7 @@
           ..circle(x: 208.5, y: 16.0, radius: 1.0)
           ..circle(x: 591.5, y: 16.0, radius: 1.0)
           ..circle(x: 783.0, y: 16.0, radius: 1.0)
-          ..circle(x: 400.0, y: 16.0, radius: 10.0),
+          ..circle(x: 400.0, y: 16.0, radius: 6.0),
       );
     }
 
diff --git a/packages/flutter/test/material/slider_theme_test.dart b/packages/flutter/test/material/slider_theme_test.dart
index 47b0c0f..1c1514d 100644
--- a/packages/flutter/test/material/slider_theme_test.dart
+++ b/packages/flutter/test/material/slider_theme_test.dart
@@ -198,7 +198,7 @@
 
     final RenderBox sliderBox = tester.firstRenderObject<RenderBox>(find.byType(Slider));
 
-    expect(sliderBox, paints..circle(color: sliderTheme.thumbColor, radius: 10.0));
+    expect(sliderBox, paints..circle(color: sliderTheme.thumbColor, radius: 6.0));
 
     await tester.pumpWidget(buildApp(enabled: false));
     await tester.pumpAndSettle(); // wait for disable animation
@@ -213,7 +213,7 @@
           ..circle(color: sliderTheme.activeTickMarkColor)
           ..circle(color: sliderTheme.inactiveTickMarkColor)
           ..circle(color: sliderTheme.inactiveTickMarkColor)
-          ..circle(color: sliderTheme.thumbColor, radius: 10.0));
+          ..circle(color: sliderTheme.thumbColor, radius: 6.0));
 
     await tester.pumpWidget(buildApp(divisions: 3, enabled: false));
     await tester.pumpAndSettle(); // wait for disable animation
