diff --git a/.azure/pipelines/ci.yml b/.azure/pipelines/ci.yml
index 63172f92af00556fb90d9fca00e264480fbc0481..5aa7a5d4b99c0bbcfaa2ad12630cbde84b85a9cf 100644
--- a/.azure/pipelines/ci.yml
+++ b/.azure/pipelines/ci.yml
@@ -747,7 +747,8 @@ stages:
               - Helix_x64
           - Source_Build_Managed
         pool:
-          vmImage: windows-latest
+          name: NetCore1ESPool-Svc-Internal
+          demands: ImageOverride -equals Build.Server.Amd64.VS2019
         publishUsingPipelines: ${{ variables._PublishUsingPipelines }}
         enablePublishBuildArtifacts: true # publish artifacts/log files
     - ${{ if and(ne(variables['System.TeamProject'], 'public'), or(eq(parameters.testSourceIndexing, 'true'), eq(variables['Build.SourceBranch'], 'refs/heads/main'))) }}:
diff --git a/.azure/pipelines/jobs/default-build.yml b/.azure/pipelines/jobs/default-build.yml
index 559cecdc849fa27d1c1ccafee7cdfba00d0a31dc..f5365e9c85021e38a71633fb6e7e3e53865d5164 100644
--- a/.azure/pipelines/jobs/default-build.yml
+++ b/.azure/pipelines/jobs/default-build.yml
@@ -108,9 +108,9 @@ jobs:
       ${{ if eq(parameters.agentOs, 'macOS') }}:
         vmImage: macOS-10.15
       ${{ if eq(parameters.agentOs, 'Linux') }}:
-        ${{ if eq(parameters.useHostedUbuntu, true) }}:
+        ${{ if and(eq(parameters.useHostedUbuntu, true), or(ne(variables['System.TeamProject'], 'internal'), in(variables['Build.Reason'], 'Manual', 'PullRequest', 'Schedule'))) }}:
           vmImage: ubuntu-18.04
-        ${{ if eq(parameters.useHostedUbuntu, false) }}:
+        ${{ if or(eq(parameters.useHostedUbuntu, false), and(eq(variables['System.TeamProject'], 'internal'), notin(variables['Build.Reason'], 'Manual', 'PullRequest', 'Schedule'))) }}:
           ${{ if eq(variables['System.TeamProject'], 'public') }}:
             name: NetCore1ESPool-Public
             demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open