diff --git a/src/libraries/System.Net.Http/ref/System.Net.Http.cs b/src/libraries/System.Net.Http/ref/System.Net.Http.cs
index aff41b2508b39a..c529bdcda2d49d 100644
--- a/src/libraries/System.Net.Http/ref/System.Net.Http.cs
+++ b/src/libraries/System.Net.Http/ref/System.Net.Http.cs
@@ -476,10 +476,10 @@ protected override void SerializeToStream(System.IO.Stream stream, System.Net.Tr
     public partial class StringContent : System.Net.Http.ByteArrayContent
     {
         public StringContent(string content) : base (default(byte[])) { }
-        public StringContent(string content, System.Net.Http.Headers.MediaTypeHeaderValue mediaType) : base (default(byte[])) { }
+        public StringContent(string content, System.Net.Http.Headers.MediaTypeHeaderValue? mediaType) : base (default(byte[])) { }
         public StringContent(string content, System.Text.Encoding? encoding) : base (default(byte[])) { }
-        public StringContent(string content, System.Text.Encoding? encoding, System.Net.Http.Headers.MediaTypeHeaderValue mediaType) : base (default(byte[])) { }
-        public StringContent(string content, System.Text.Encoding? encoding, string mediaType) : base (default(byte[])) { }
+        public StringContent(string content, System.Text.Encoding? encoding, System.Net.Http.Headers.MediaTypeHeaderValue? mediaType) : base (default(byte[])) { }
+        public StringContent(string content, System.Text.Encoding? encoding, string? mediaType) : base (default(byte[])) { }
         protected override System.Threading.Tasks.Task SerializeToStreamAsync(System.IO.Stream stream, System.Net.TransportContext? context, System.Threading.CancellationToken cancellationToken) { throw null; }
     }
 }
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs b/src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs
index 6d276819e43315..1553024d054ff7 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/StringContent.cs
@@ -27,7 +27,7 @@ public StringContent(string content)
         /// Creates a new instance of the  class.
         /// The content used to initialize the .
         /// The media type to use for the content.
-        public StringContent(string content, MediaTypeHeaderValue mediaType)
+        public StringContent(string content, MediaTypeHeaderValue? mediaType)
             : this(content, DefaultStringEncoding, mediaType)
         {
         }
@@ -45,7 +45,7 @@ public StringContent(string content, Encoding? encoding)
         /// The content used to initialize the .
         /// The encoding to use for the content.
         /// The media type to use for the content.
-        public StringContent(string content, Encoding? encoding, string mediaType)
+        public StringContent(string content, Encoding? encoding, string? mediaType)
             : base(GetContentByteArray(content, encoding))
         {
             Debug.Assert(DefaultStringEncoding.WebName == "utf-8");
@@ -77,7 +77,7 @@ public StringContent(string content, Encoding? encoding, string mediaType)
         /// The content used to initialize the .
         /// The encoding to use for the content.
         /// The media type to use for the content.
-        public StringContent(string content, Encoding? encoding, MediaTypeHeaderValue mediaType)
+        public StringContent(string content, Encoding? encoding, MediaTypeHeaderValue? mediaType)
             : base(GetContentByteArray(content, encoding))
         {
             Headers.ContentType = mediaType;
diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpRequestMessageTest.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpRequestMessageTest.cs
index d62566f1dd1b4a..d4fa632100744b 100644
--- a/src/libraries/System.Net.Http/tests/FunctionalTests/HttpRequestMessageTest.cs
+++ b/src/libraries/System.Net.Http/tests/FunctionalTests/HttpRequestMessageTest.cs
@@ -275,7 +275,7 @@ public async Task HttpRequest_StringContent_WithoutMediaType()
                 await LoopbackServer.CreateServerAsync(async (server, uri) =>
                 {
                     var request = new HttpRequestMessage(HttpMethod.Post, uri);
-                    request.Content = new StringContent("", null, ((MediaTypeHeaderValue)null)!);
+                    request.Content = new StringContent("", null, (MediaTypeHeaderValue)null);
 
                     Task requestTask = client.SendAsync(request);
                     await server.AcceptConnectionAsync(async connection =>
diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs
index 2abf62135d5bbd..be3d39a01df6ea 100644
--- a/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs
+++ b/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs
@@ -131,7 +131,7 @@ public void Ctor_PassNullHeaderValueForMediaType_NoMediaTypeUsed()
         {
             string sourceString = "\u00C4\u00E4\u00FC\u00DC";
             Encoding defaultStringEncoding = Encoding.GetEncoding("utf-8");
-            var content = new StringContent(sourceString, defaultStringEncoding, ((Headers.MediaTypeHeaderValue)null)!);
+            var content = new StringContent(sourceString, defaultStringEncoding, (MediaTypeHeaderValue)null);
 
             // If no media header value is passed-in, there is none
             Assert.Null(content.Headers.ContentType);