diff --git a/build/Microsoft.DotNet.Cli.Test.targets b/build/Microsoft.DotNet.Cli.Test.targets
index eb9e98c36..d38407ea4 100644
--- a/build/Microsoft.DotNet.Cli.Test.targets
+++ b/build/Microsoft.DotNet.Cli.Test.targets
@@ -203,7 +203,7 @@
   </Target>
 
   <Target Name="CreateTestAssetPackageNuPkgs"
-          DependsOnTargets="BuildTestAssetPackageProjects;
+          DependsOnTargets="PrepareTests;
                             SetupTestPackageProjectData;"
           Inputs="%(TestPackageProject.PackInputs)"
           Outputs="%(TestPackageProject.PackOutputs)">
@@ -212,6 +212,15 @@
       <DotNetPackMsbuildArgs>/p:TargetFramework=%(TestPackageProject.Framework)</DotNetPackMsbuildArgs>
       <DotNetPackMsbuildArgs Condition=" '$(IsDesktopAvailable)' == 'True' And '%(TestPackageProject.PackRuntime)' != '' ">/p:RuntimeIdentifier=%(TestPackageProject.PackRuntime)</DotNetPackMsbuildArgs>
     </PropertyGroup>
+
+    <DotNetRestore ToolPath="$(Stage2Directory)"
+                   Source="$(TestPackagesDir)"
+                   WorkingDirectory="%(TestPackageProject.FullPath)" />
+
+    <DotNetBuild Framework="%(TestPackageProject.Framework)"
+                 Runtime="%(TestPackageProject.Runtime)"
+                 ProjectPath="%(TestPackageProject.ProjectPath)"
+                 ToolPath="$(Stage0Directory)" />
     
     <!-- https://github.com/NuGet/Home/issues/4063 -->
     <DotNetPack NoBuild="True"
@@ -221,24 +230,4 @@
                 VersionSuffix="%(TestPackageProject.VersionSuffix)"
                 MsbuildArgs="$(DotNetPackMsbuildArgs) /p:SdkNuGetVersion=$(SdkNugetVersion)" />
   </Target>
-
-  <Target Name="BuildTestAssetPackageProjects"
-          DependsOnTargets="RestoreTestAssetPackageProjects;
-                            SetupTestPackageProjectData;"
-          Inputs="%(TestPackageProject.BuildInputs)"
-          Outputs="%(TestPackageProject.BuildOutputs)">
-
-    <DotNetBuild Framework="%(TestPackageProject.Framework)"
-                 Runtime="%(TestPackageProject.Runtime)"
-                 ProjectPath="%(TestPackageProject.ProjectPath)"
-                 ToolPath="$(Stage0Directory)" />
-  </Target>
-
-  <Target Name="RestoreTestAssetPackageProjects"
-          DependsOnTargets="PrepareTests;
-                            SetupTestPackageProjectData;">
-
-    <DotNetRestore ToolPath="$(Stage2Directory)"
-                   WorkingDirectory="%(TestPackageProject.FullPath)" />
-  </Target>
 </Project>
diff --git a/build/test/TestPackageProjects.targets b/build/test/TestPackageProjects.targets
index feb98c5ea..8ddad419c 100644
--- a/build/test/TestPackageProjects.targets
+++ b/build/test/TestPackageProjects.targets
@@ -70,6 +70,26 @@
 
   <Target Name="SetupTestPackageProjectBaseData">
     <ItemGroup>
+      <BaseTestPackageProject Include="src/Microsoft.DotNet.Cli.Utils">
+        <Name>Microsoft.DotNet.Cli.Utils</Name>
+        <ProjectName>Microsoft.DotNet.Cli.Utils.csproj</ProjectName>
+        <IsTool>True</IsTool>
+        <IsApplicable>True</IsApplicable>
+        <VersionPrefix>1.0.0-rc3-</VersionPrefix>
+        <VersionSuffix>rc3-$(TestPackageBuildVersionSuffix)</VersionSuffix>
+        <Clean>False</Clean>
+        <Frameworks>netstandard1.5</Frameworks>
+      </BaseTestPackageProject>
+      <BaseTestPackageProject Include="src/Microsoft.DotNet.InternalAbstractions">
+        <Name>Microsoft.DotNet.InternalAbstractions</Name>
+        <ProjectName>Microsoft.DotNet.InternalAbstractions.csproj</ProjectName>
+        <IsTool>True</IsTool>
+        <IsApplicable>True</IsApplicable>
+        <VersionPrefix>2.0.0-beta-</VersionPrefix>
+        <VersionSuffix>beta-$(TestPackageBuildVersionSuffix)</VersionSuffix>
+        <Clean>False</Clean>
+        <Frameworks>netstandard1.3</Frameworks>
+      </BaseTestPackageProject>
       <BaseTestPackageProject Include="TestAssets/TestPackages/PackageWithFakeNativeDep">
         <Name>PackageWithFakeNativeDep</Name>
         <ProjectName>PackageWithFakeNativeDep.csproj</ProjectName>
@@ -176,26 +196,6 @@
         <Clean>True</Clean>
         <Frameworks>netcoreapp1.0</Frameworks>
       </BaseTestPackageProject>
-      <BaseTestPackageProject Include="src/Microsoft.DotNet.Cli.Utils">
-        <Name>Microsoft.DotNet.Cli.Utils</Name>
-        <ProjectName>Microsoft.DotNet.Cli.Utils.csproj</ProjectName>
-        <IsTool>True</IsTool>
-        <IsApplicable>True</IsApplicable>
-        <VersionPrefix>1.0.0-rc3-</VersionPrefix>
-        <VersionSuffix>rc3-$(TestPackageBuildVersionSuffix)</VersionSuffix>
-        <Clean>False</Clean>
-        <Frameworks>netstandard1.5</Frameworks>
-      </BaseTestPackageProject>
-      <BaseTestPackageProject Include="src/Microsoft.DotNet.InternalAbstractions">
-        <Name>Microsoft.DotNet.InternalAbstractions</Name>
-        <ProjectName>Microsoft.DotNet.InternalAbstractions.csproj</ProjectName>
-        <IsTool>True</IsTool>
-        <IsApplicable>True</IsApplicable>
-        <VersionPrefix>2.0.0-beta-</VersionPrefix>
-        <VersionSuffix>beta-$(TestPackageBuildVersionSuffix)</VersionSuffix>
-        <Clean>False</Clean>
-        <Frameworks>netstandard1.3</Frameworks>
-      </BaseTestPackageProject>
 
       <TestPackageProjectFrameworksExcludes Condition=" '$(IsDesktopAvailable)' != 'True' " Include="net45" />
       <TestPackageProjectFrameworksExcludes Condition=" '$(IsDesktopAvailable)' != 'True' " Include="net451" />