diff --git a/packages/flutter_tools/lib/runner.dart b/packages/flutter_tools/lib/runner.dart
index 7858632..c95416f 100644
--- a/packages/flutter_tools/lib/runner.dart
+++ b/packages/flutter_tools/lib/runner.dart
@@ -88,14 +88,6 @@
           await globals.analytics.setTelemetry(value);
         }
 
-        // If the user has opted out of legacy analytics, we will continue
-        // to opt them out of unified analytics and inform them
-        if (!globals.flutterUsage.enabled && globals.analytics.telemetryEnabled) {
-          await globals.analytics.setTelemetry(false);
-          globals.logger.printStatus(
-              'Please note that analytics reporting was already disabled, and will continue to be disabled.\n');
-        }
-
         await runner.run(args);
 
         // Triggering [runZoned]'s error callback does not necessarily mean that
@@ -285,6 +277,11 @@
   // Ensure that the consent message has been displayed for unified analytics
   if (globals.analytics.shouldShowMessage) {
     globals.logger.printStatus(globals.analytics.getConsentMessage);
+    if (!globals.flutterUsage.enabled) {
+      globals.printStatus(
+          'Please note that analytics reporting was already disabled, '
+          'and will continue to be disabled.\n');
+    }
 
     // Because the legacy analytics may have also sent a message,
     // the conditional below will print additional messaging informing
@@ -296,8 +293,7 @@
               'the flutter tool is migrating to a new analytics system. '
               'Disabling analytics collection will disable both the legacy '
               'and new analytics collection systems. '
-              'You can disable analytics reporting by running either `flutter --disable-telemetry` '
-              'or `flutter config --no-analytics\n');
+              'You can disable analytics reporting by running `flutter --disable-telemetry`\n');
     }
 
     // Invoking this will onboard the flutter tool onto
diff --git a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
index a0f3454..141220d 100644
--- a/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
+++ b/packages/flutter_tools/lib/src/runner/flutter_command_runner.dart
@@ -77,7 +77,7 @@
         help: 'Allow Flutter to check for updates when this command runs.');
     argParser.addFlag('suppress-analytics',
         negatable: false,
-        help: 'Suppress analytics reporting when this command runs.');
+        help: 'Suppress analytics reporting for the current CLI invocation.');
     argParser.addFlag('disable-telemetry',
         negatable: false,
         help: 'Disable telemetry reporting when this command runs.');
diff --git a/packages/flutter_tools/test/general.shard/runner/runner_test.dart b/packages/flutter_tools/test/general.shard/runner/runner_test.dart
index ff4bc7c..9eff816 100644
--- a/packages/flutter_tools/test/general.shard/runner/runner_test.dart
+++ b/packages/flutter_tools/test/general.shard/runner/runner_test.dart
@@ -346,34 +346,6 @@
         ProcessManager: () => FakeProcessManager.any(),
       },
     );
-
-    testUsingContext(
-      'legacy analytics disabled will disable new analytics',
-      () async {
-
-        io.setExitFunctionForTests((int exitCode) {});
-
-        await runner.run(
-          <String>[],
-          () => <FlutterCommand>[],
-          // This flutterVersion disables crash reporting.
-          flutterVersion: '[user-branch]/',
-          shutdownHooks: ShutdownHooks(),
-        );
-
-        expect(globals.flutterUsage.enabled, false);
-        expect(globals.analytics.telemetryEnabled, false);
-        expect(testLogger.statusText.contains(
-          'Please note that analytics '
-          'reporting was already disabled'), true);
-      },
-      overrides: <Type, Generator>{
-        Analytics: () => FakeAnalytics(),
-        FileSystem: () => MemoryFileSystem.test(),
-        ProcessManager: () => FakeProcessManager.any(),
-        Usage: () => legacyAnalytics,
-      },
-    );
   });
 }
 
