diff --git a/dev/conductor/core/lib/src/codesign.dart b/dev/conductor/core/lib/src/codesign.dart
index 337a66f..4871075 100644
--- a/dev/conductor/core/lib/src/codesign.dart
+++ b/dev/conductor/core/lib/src/codesign.dart
@@ -73,9 +73,8 @@
 
   FrameworkRepository? _framework;
   FrameworkRepository get framework {
-    return _framework ??= FrameworkRepository.localRepoAsUpstream(
+    return _framework ??= FrameworkRepository(
       checkouts,
-      upstreamPath: flutterRoot.path,
     );
   }
 
@@ -113,7 +112,7 @@
     } else {
       revision = ((await processManager.run(
         <String>['git', 'rev-parse', 'HEAD'],
-        workingDirectory: (await framework.checkoutDirectory).path,
+        workingDirectory: flutterRoot.path,
       )).stdout as String).trim();
       assert(revision.isNotEmpty);
     }
diff --git a/dev/conductor/core/test/codesign_test.dart b/dev/conductor/core/test/codesign_test.dart
index a33cf76..b51625f 100644
--- a/dev/conductor/core/test/codesign_test.dart
+++ b/dev/conductor/core/test/codesign_test.dart
@@ -105,11 +105,16 @@
       createRunner(commands: <FakeCommand>[
         const FakeCommand(command: <String>[
           'git',
+          'rev-parse',
+          'HEAD',
+        ], stdout: revision),
+        const FakeCommand(command: <String>[
+          'git',
           'clone',
           '--origin',
           'upstream',
           '--',
-          'file://$flutterRoot/',
+          FrameworkRepository.defaultUpstream,
           '${checkoutsParentDirectory}flutter_conductor_checkouts/framework',
         ]),
         const FakeCommand(command: <String>[
@@ -124,11 +129,6 @@
         ], stdout: revision),
         const FakeCommand(command: <String>[
           'git',
-          'rev-parse',
-          'HEAD',
-        ], stdout: revision),
-        const FakeCommand(command: <String>[
-          'git',
           'checkout',
           revision,
         ]),
@@ -198,7 +198,7 @@
           '--origin',
           'upstream',
           '--',
-          'file://$flutterRoot/',
+          FrameworkRepository.defaultUpstream,
           '${checkoutsParentDirectory}flutter_conductor_checkouts/framework',
         ]),
         const FakeCommand(command: <String>[
@@ -291,7 +291,7 @@
           '--origin',
           'upstream',
           '--',
-          'file://$flutterRoot/',
+          FrameworkRepository.defaultUpstream,
           '${checkoutsParentDirectory}flutter_conductor_checkouts/framework',
         ]),
         const FakeCommand(command: <String>[
@@ -383,7 +383,7 @@
           '--origin',
           'upstream',
           '--',
-          'file://$flutterRoot/',
+          FrameworkRepository.defaultUpstream,
           '${checkoutsParentDirectory}flutter_conductor_checkouts/framework',
         ]),
         const FakeCommand(command: <String>[
@@ -447,7 +447,7 @@
           '--origin',
           'upstream',
           '--',
-          'file://$flutterRoot/',
+          FrameworkRepository.defaultUpstream,
           '${checkoutsParentDirectory}flutter_conductor_checkouts/framework',
         ]),
         const FakeCommand(command: <String>[
