diff --git a/.gitmodules b/.gitmodules
index ed8ae26eba476eee45c37beb727d8648078435f2..972b9ce3f8adf1096080d134737fb50e45700552 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -38,10 +38,6 @@
 	path = modules/CORS
 	url = https://github.com/aspnet/CORS.git
 	branch = release/2.1
-[submodule "modules/DataProtection"]
-	path = modules/DataProtection
-	url = https://github.com/aspnet/DataProtection.git
-	branch = release/2.1
 [submodule "modules/DependencyInjection"]
 	path = modules/DependencyInjection
 	url = https://github.com/aspnet/DependencyInjection.git
diff --git a/build/RepositoryBuild.targets b/build/RepositoryBuild.targets
index be43e8dc7563c83479d29f82dff02c733896556f..a97112a561da323001c59c469d230bdfdcab54a6 100644
--- a/build/RepositoryBuild.targets
+++ b/build/RepositoryBuild.targets
@@ -11,6 +11,9 @@
 
   <Target Name="GetRepoBatches" DependsOnTargets="GeneratePropsFiles;ComputeGraph">
     <ItemGroup>
+      <RepositoryBuildOrder Condition="'%(RootPath)' == ''">
+        <RootPath>$(SubmoduleRoot)%(Identity)\</RootPath>
+      </RepositoryBuildOrder>
       <BatchedRepository Include="$(MSBuildProjectFullPath)">
         <BuildGroup>%(RepositoryBuildOrder.Order)</BuildGroup>
         <Repository>%(RepositoryBuildOrder.Identity)</Repository>
diff --git a/build/buildorder.props b/build/buildorder.props
index 0c20ba10c9394b39e2784aafc6560043d929f128..c8b166f55b7a345af9841b368f4b722368a5c687 100644
--- a/build/buildorder.props
+++ b/build/buildorder.props
@@ -1,4 +1,11 @@
 <Project>
+  <ItemDefinitionGroup>
+    <RepositoryBuildOrder>
+      <Order></Order>
+      <RootPath></RootPath>
+    </RepositoryBuildOrder>
+  </ItemDefinitionGroup>
+
   <ItemGroup>
     <RepositoryBuildOrder Include="Common" Order="1" />
     <RepositoryBuildOrder Include="Microsoft.Data.Sqlite" Order="1" />
@@ -17,7 +24,7 @@
     <RepositoryBuildOrder Include="HttpAbstractions" Order="6" />
     <RepositoryBuildOrder Include="HttpClientFactory" Order="6" />
     <RepositoryBuildOrder Include="Hosting" Order="7" />
-    <RepositoryBuildOrder Include="DataProtection" Order="8" />
+    <RepositoryBuildOrder Include="DataProtection" Order="8" RootPath="$(RepositoryRoot)src\DataProtection\" />
     <RepositoryBuildOrder Include="KestrelHttpServer" Order="8" />
     <RepositoryBuildOrder Include="EntityFrameworkCore" Order="8" />
     <RepositoryBuildOrder Include="HttpSysServer" Order="8" />
@@ -47,7 +54,5 @@
     <RepositoryBuildOrder Include="SignalR" Order="16" />
     <RepositoryBuildOrder Include="AuthSamples" Order="16" />
     <RepositoryBuildOrder Include="Templating" Order="17" />
-
-    <RepositoryBuildOrder Update="@(RepositoryBuildOrder)" RootPath="$(SubmoduleRoot)%(Identity)" />
   </ItemGroup>
 </Project>
diff --git a/build/submodules.props b/build/submodules.props
index 2a0bf1398459c31228474fe5a11348edfc436ea9..cc0a5c16037882644184b430729eaea1959e0990 100644
--- a/build/submodules.props
+++ b/build/submodules.props
@@ -57,7 +57,7 @@
     <ShippedRepository Include="Caching" />
     <ShippedRepository Include="Configuration" />
     <ShippedRepository Include="CORS" />
-    <ShippedRepository Include="DataProtection" />
+    <ShippedRepository Include="DataProtection" RootPath="$(RepositoryRoot)src\DataProtection\" />
     <ShippedRepository Include="DependencyInjection" />
     <ShippedRepository Include="Diagnostics" />
     <ShippedRepository Include="DotNetTools" />
diff --git a/modules/DataProtection b/modules/DataProtection
deleted file mode 160000
index b62bb5778be59cbde9b2e6bbdef20f40eef42355..0000000000000000000000000000000000000000
--- a/modules/DataProtection
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b62bb5778be59cbde9b2e6bbdef20f40eef42355
diff --git a/src/DataProtection/build/repo.props b/src/DataProtection/build/repo.props
new file mode 100644
index 0000000000000000000000000000000000000000..59ae0807d3033c968172daa36416994b03f58e19
--- /dev/null
+++ b/src/DataProtection/build/repo.props
@@ -0,0 +1,6 @@
+<Project>
+  <PropertyGroup>
+    <!-- TODO: temporary while we reorganize source code and refactor dependency management -->
+    <DisablePackageReferenceRestrictions>true</DisablePackageReferenceRestrictions>
+  </PropertyGroup>
+</Project>