diff --git a/.dotnet3.0.metadata b/.dotnet3.0.metadata
index 98fb128..846e870 100644
--- a/.dotnet3.0.metadata
+++ b/.dotnet3.0.metadata
@@ -1 +1 @@
-34ac63596d42a5fdb1a9391ba617ce6d23e991be SOURCES/dotnet-v3.0.102-SDK.tar.gz
+bbfbe56a2822311b0079546faef32ccb3ed8fe5f SOURCES/dotnet-v3.0.103-SDK.tar.gz
diff --git a/.gitignore b/.gitignore
index 08760aa..2f88474 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/dotnet-v3.0.102-SDK.tar.gz
+SOURCES/dotnet-v3.0.103-SDK.tar.gz
diff --git a/SOURCES/core-setup-fix-restore-sources.patch b/SOURCES/core-setup-fix-restore-sources.patch
deleted file mode 100644
index cd3170d..0000000
--- a/SOURCES/core-setup-fix-restore-sources.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Prevent prebuilts from ending up in the sharedframework
-
---- a/src/pkg/packaging-tools/framework.sharedfx.props
-+++ b/src/pkg/packaging-tools/framework.sharedfx.props
-@@ -26,8 +26,6 @@
-     <RestoreAllBuildRids>false</RestoreAllBuildRids>
-     <!-- Ensure only this repo's NuGet.config file is used. -->
-     <RestoreConfigFile>$(ProjectDir)NuGet.config</RestoreConfigFile>
--    <!-- Use repo-restored packages for platforms and targets dependencies -->
--    <RestoreFallbackFolders>$(PackagesDir)</RestoreFallbackFolders>
-     <!-- Don't error due to lack of runtime-specific deps, we're referencing those directly -->
-     <EnsureRuntimePackageDependencies>false</EnsureRuntimePackageDependencies>
-     <!-- Use a project-local packages folder. 'p', not 'packages': max path breathing room. -->
diff --git a/SOURCES/shared-compilation.patch b/SOURCES/shared-compilation.patch
new file mode 100644
index 0000000..c71250c
--- /dev/null
+++ b/SOURCES/shared-compilation.patch
@@ -0,0 +1,10 @@
+--- a/repos/corefx.proj
++++ b/repos/corefx.proj
+@@ -34,6 +34,7 @@
+     <BuildArguments Condition="'$(OfflineBuild)' == 'true'">$(BuildArguments) /p:DotNetSourceBuildIntermediatePath=$(GeneratedSourcePathOffline)</BuildArguments>
+     <BuildArguments Condition="'$(OfflineBuild)' == 'true'">$(BuildArguments) /p:MicrosoftNETCoreDotNetHostPackageVersion=$(coresetupOutputPackageVersion)</BuildArguments>
+     <BuildArguments Condition="'$(OfflineBuild)' == 'true'">$(BuildArguments) /p:MicrosoftNETCoreDotNetHostPolicyPackageVersion=$(coresetupOutputPackageVersion)</BuildArguments>
++    <BuildArguments>$(BuildArguments) /p:UseSharedCompilation=false</BuildArguments>
+ 
+     <LogVerbosityOptOut>true</LogVerbosityOptOut>
+     <BuildArguments>$(BuildArguments) $(FlagParameterPrefix)verbosity $(LogVerbosity)</BuildArguments>
diff --git a/SPECS/dotnet3.0.spec b/SPECS/dotnet3.0.spec
index 6d1b6d0..632bea2 100644
--- a/SPECS/dotnet3.0.spec
+++ b/SPECS/dotnet3.0.spec
@@ -23,11 +23,11 @@
 %endif
 %global dotnet_ldflags %(echo %{__global_ldflags} | sed -re 's/-specs=[^ ]*//g')
 
-%global host_version 3.0.2
-%global runtime_version 3.0.2
+%global host_version 3.0.3
+%global runtime_version 3.0.3
 %global aspnetcore_runtime_version %{runtime_version}
-%global sdk_version 3.0.102
-%global templates_version %{runtime_version}
+%global sdk_version 3.0.103
+%global templates_version %(echo %{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
 
 %global host_rpm_version %{host_version}
 %global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
@@ -52,7 +52,7 @@
 
 Name:           dotnet3.0
 Version:        %{sdk_rpm_version}
-Release:        2%{?dist}
+Release:        1%{?dist}
 Summary:        .NET Core CLI tools and runtime
 License:        MIT and ASL 2.0 and BSD
 URL:            https://github.com/dotnet/
@@ -63,10 +63,11 @@ Source0:        dotnet-v%{sdk_version}-SDK.tar.gz
 Source1:        check-debug-symbols.py
 Source2:        dotnet.sh
 
+Patch1:         shared-compilation.patch
+
 Patch100:       corefx-optflags-support.patch
 
 Patch300:       core-setup-do-not-strip.patch
-Patch301:       core-setup-fix-restore-sources.patch
 
 Patch500:       cli-telemetry-optout.patch
 
@@ -286,11 +287,13 @@ applications using the .NET Core SDK.
 %setup -q -n dotnet-v%{sdk_version}-SDK
 
 # Fix bad hardcoded path in build
-sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/dotnet-core-setup.*/src/corehost/common/pal.unix.cpp
+sed -i 's|/usr/share/dotnet|%{_libdir}/dotnet|' src/core-setup.*/src/corehost/common/pal.unix.cpp
 
 # Disable warnings
 sed -i 's|skiptests|skiptests ignorewarnings|' repos/coreclr.proj
 
+%patch1 -p1
+
 pushd src/corefx.*
 %patch100 -p1
 popd
@@ -298,12 +301,11 @@ popd
 pushd src/coreclr.*
 popd
 
-pushd src/dotnet-core-setup.*
+pushd src/core-setup.*
 %patch300 -p1
-%patch301 -p1
 popd
 
-pushd src/dotnet-cli.*
+pushd src/cli.*
 %patch500 -p1
 popd
 
@@ -375,7 +377,7 @@ install %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d/
 
 install -dm 0755 %{buildroot}/%{_datadir}/bash-completion/completions
 # dynamic completion needs the file to be named the same as the base command
-install src/dotnet-cli.*/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet
+install src/cli.*/scripts/register-completions.bash %{buildroot}/%{_datadir}/bash-completion/completions/dotnet
 
 # TODO: the zsh completion script needs to be ported to use #compdef
 #install -dm 755 %%{buildroot}/%%{_datadir}/zsh/site-functions
@@ -444,6 +446,10 @@ echo "Testing build results for debug symbols..."
 %dir %{_libdir}/dotnet/packs
 
 %changelog
+* Thu Mar 05 2020 Omair Majid <omajid@redhat.com> - 3.0.103-1
+- Update to .NET Core Runtime 3.0.3 and SDK 3.0.103
+- Resolves: RHBZ#1806956
+
 * Wed Jan 15 2020 Omair Majid <omajid@redhat.com> - 3.0.102-2
 - Fix prebuilts leaking into the final build
 - Fix regressions in binary hardering