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 b9ce8f271464dd..519d15a60012fa 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
@@ -45,7 +45,7 @@ public StringContent(string content, Encoding? encoding)
/// The encoding to use for the content.
/// The media type to use for the content.
public StringContent(string content, Encoding? encoding, string mediaType)
- : this(content, encoding, new MediaTypeHeaderValue(mediaType, (encoding ?? DefaultStringEncoding).WebName))
+ : this(content, encoding, new MediaTypeHeaderValue(mediaType ?? DefaultMediaType, (encoding ?? DefaultStringEncoding).WebName))
{
}
diff --git a/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs b/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs
index 73e33fde4fa9ba..cb69b3e4e7259b 100644
--- a/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs
+++ b/src/libraries/System.Net.Http/tests/FunctionalTests/StringContentTest.cs
@@ -71,6 +71,17 @@ public async Task Ctor_DefineNoEncoding_DefaultEncodingUsed()
Assert.Equal(sourceString, roundTrip);
}
+ [Fact]
+ public void Ctor_PassNullForMediaType_DefaultMediaTypeUsed()
+ {
+ string sourceString = "\u00C4\u00E4\u00FC\u00DC";
+ Encoding defaultStringEncoding = Encoding.GetEncoding("utf-8");
+ var content = new StringContent(sourceString, defaultStringEncoding, ((string)null)!);
+
+ // If no media is passed-in, the default is used
+ Assert.Equal("text/plain", content.Headers.ContentType.MediaType);
+ }
+
[Fact]
public async Task Ctor_UseCustomMediaTypeHeaderValue_SpecificEncoding()
{