diff --git a/packages/flutter_tools/lib/src/version.dart b/packages/flutter_tools/lib/src/version.dart
index 6c6c7e4..b8f0f93 100644
--- a/packages/flutter_tools/lib/src/version.dart
+++ b/packages/flutter_tools/lib/src/version.dart
@@ -812,9 +812,9 @@
       return '$x.$y.$z+hotfix.${hotfix! + 1}.pre.$commits';
     }
     if (devPatch != null && devVersion != null) {
-      // The next published release this commit will appear in will be a beta
-      // release, thus increment [y].
-      return '$x.${y! + 1}.0-0.0.pre.$commits';
+      // The next tag that will contain this commit will be the next candidate
+      // branch, which will increment the devVersion.
+      return '$x.$y.0-${devVersion! + 1}.0.pre.$commits';
     }
     return '$x.$y.${z! + 1}-0.0.pre.$commits';
   }
diff --git a/packages/flutter_tools/test/general.shard/version_test.dart b/packages/flutter_tools/test/general.shard/version_test.dart
index df8053a..861d90a 100644
--- a/packages/flutter_tools/test/general.shard/version_test.dart
+++ b/packages/flutter_tools/test/general.shard/version_test.dart
@@ -440,9 +440,9 @@
     GitTagVersion gitTagVersion;
 
     // Master channel
-    gitTagVersion = GitTagVersion.parse('1.2.3-4.5.pre-13-g$hash');
-    expect(gitTagVersion.frameworkVersionFor(hash), '1.3.0-0.0.pre.13');
-    expect(gitTagVersion.gitTag, '1.2.3-4.5.pre');
+    gitTagVersion = GitTagVersion.parse('1.2.0-4.5.pre-13-g$hash');
+    expect(gitTagVersion.frameworkVersionFor(hash), '1.2.0-5.0.pre.13');
+    expect(gitTagVersion.gitTag, '1.2.0-4.5.pre');
     expect(gitTagVersion.devVersion, 4);
     expect(gitTagVersion.devPatch, 5);
 
@@ -543,7 +543,7 @@
   });
 
   testUsingContext('determine reports correct git describe version if HEAD is not at a tag', () {
-    const String devTag = '1.2.3-2.0.pre';
+    const String devTag = '1.2.0-2.0.pre';
     const String headRevision = 'abcd1234';
     const String commitsAhead = '12';
     final FakeProcessManager fakeProcessManager = FakeProcessManager.list(
@@ -565,8 +565,8 @@
     final FakePlatform platform = FakePlatform();
 
     final GitTagVersion gitTagVersion = GitTagVersion.determine(processUtils, platform, workingDirectory: '.');
-    // reported version should increment the y
-    expect(gitTagVersion.frameworkVersionFor(headRevision), '1.3.0-0.0.pre.12');
+    // reported version should increment the m
+    expect(gitTagVersion.frameworkVersionFor(headRevision), '1.2.0-3.0.pre.12');
   });
 
   testUsingContext('determine does not call fetch --tags', () {
